실패 분석 왼쪽 고토하지 않는, 그 결과는 "오른쪽"파섹은 심지어 내가 예제 코드 타격으로 <a href="https://github.com/JakeWheat/intro_to_parsing" rel="nofollow">https://github.com/JakeWheat/intro_to_parsing</a></p> <p>와 파섹을 배우고
사람이 친절하게 나에게 몇 가지 팁을주고 항상?
*Main> regularParse parser4search "a"
Loading package array-0.5.0.0 ... linking ... done.
Loading package deepseq-1.3.0.2 ... linking ... done.
Loading package bytestring-0.10.4.0 ... linking ... done.
Loading package text-1.1.0.0 ... linking ... done.
Loading package transformers-0.3.0.0 ... linking ... done.
Loading package mtl-2.1.3.1 ... linking ... done.
Loading package parsec-3.1.7 ... linking ... done.
Right (Num *** Exception: Prelude.read: no parse
*Main> regularParse parser4search "1"
Right (Num 1)
=================
import Text.Parsec (parse,anyChar)
import Text.Parsec.String --(Parser)
import Text.Parsec.Char (oneOf, char, digit, satisfy,letter)
import Text.Parsec.Combinator (many1, choice, chainl1)
import Control.Applicative ((<|>), many)
import Control.Monad --(void)
import Data.Char --(isLetter, isDigit)
data SimpleExpr = Num Integer
| Var String
| Add SimpleExpr SimpleExpr
| Parens SimpleExpr
| Str [Char]
deriving (Eq,Show)
regularParse p = parse p ""
parser4search:: Parser SimpleExpr
parser4search = do
searchStr <- many digit
return (Num (read searchStr))