2017-07-03 81 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 
} 

我是Haskell的新手。 我试图修改duckling中的时间解析器。Haskell:字符'd'处字符串/字符的词法错误

我改变了一些规则一个用于分析和收到此错误:

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

我不知道这是什么错误的原因和如何纠正它。

回答

1

通过在模式中使用\\而不是\来修复它。