Reader和Parser有什么区别?

时间:2019-03-17 10:02:55

标签: haskell

我想知道,Reader和Parser有什么区别?

例如,我有以下文本:

pcp-action: MESSAGE
pcp-body-type: text
field1:value1
field2:value2


this is the body!

双空格将头部和身体分开。最后,我想保留一个head和body数据类型。

问题是,我应该使用解析器还是阅读器?

1 个答案:

答案 0 :(得分:4)

您可能应该在寻找某种解析器。这是程序的现代名称,它对这样的文本有某种理解。

有时使用阅读器一词是因为:

  • 解析器用于引用其他内容
  • 这只是标记化(但是这种程序通常称为词法分析器)
  • 在lisp中,将字符串解析为对象的函数称为阅读器
  • 在Haskell中,实现了Read类型类,以指定如何从字符串中解析类型
  • 这些单词具有相似的含义,读者可以想到一个更简单,更通用的自然语言单词。