2017-07-03 1 views
1
ruleYear :: Rule 
ruleYear = Rule 
{ name = "year" 
, pattern=[regex "[12]\d{3})|(([\.\/\-\'])[901]\d)"] 
--pattern = [Predicate $ isIntegerBetween 1000 2100] 
, prod = \tokens -> case tokens of 
    (token:_) -> do 
    n <- getIntValue token 
    tt $ year n 
    _ -> Nothing 
} 

Ich bin neu in Haskell. Ich habe versucht, den Zeitparser in duckling zu ändern.Haskell: lexikalischer Fehler in Zeichenfolge/Zeichenliteral bei Zeichen 'd'

änderte ich eine der verschiedenen Regeln für das Parsen und erhielt diesen Fehler:

"lexical error in string/character literal at character 'd' " for line 4. 

Ich bin nicht sicher, was die Ursache für diesen Fehler ist und wie es zu beheben.

Antwort

1

Es wurde mit \\ anstelle von \ im Muster behoben.