parsing - 接近 Scala 中的文本解析

标签 parsing scala tokenize

我正在开发一个应用程序来解析 Scala 中的命令。命令的一个例子是:

todo get milk for friday

所以计划是让一个非常智能的解析器将行分开并识别命令部分以及字符串中有时间引用的事实。

一般来说,我需要在 Scala 中制作一个分词器。所以我想知道我对此有什么选择。我熟悉正则表达式,但我还计划制作类似 SQL 的搜索功能:

search todo for today with tags shopping

而且我觉得正则表达式在执行有很多变化的命令时会很不灵活。这让我想到实现某种语法。

在这方面,我在 Scala 中有哪些选择?

最佳答案

您想搜索“解析器组合器”。我有一篇使用这种方法的博客文章 (http://cleverlytitled.blogspot.com/2009/04/shunting-yard-algorithm.html),但我认为最好的引用是 Stefan Zieger 的这一系列文章 (http://szeiger.de/blog/2008/07/27/formal-language-processing-in-scala-part-1/)

关于parsing - 接近 Scala 中的文本解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1757977/

相关文章:

java - 解析 hh :mmaa format 中的简单时间

java - 获取Java源文件的包

ios - 在 iOS 中使用 NSJSONSerialization 进行 JSON 解析

java - 整理文件类

android - 有没有更好的方法在 Android 中解析 SoapObject

oracle - 使用 Apache Spark 1.4.0 写入 Oracle 数据库

scala - 我们能否使用多个 Spark session 来访问两个不同的 Hive 服务器

scala - Array[BigInt] 与 Array[Int] 在 Scala 中的初始化

java - 没有运算符的 Lucene 查询

python - 如何在 xml 文件中搜索单词并在 python 中打印它