我正在制作一个将在 Scala 中解析命令的应用程序。命令的一个示例是:
todo get milk for friday
所以计划是让一个非常聪明的解析器将行分开并识别命令部分以及字符串中存在对时间的引用这一事实。
一般来说,我需要在 Scala 中制作一个标记器。所以我想知道我的选择是什么。我熟悉正则表达式,但我也计划制作类似 SQL 的搜索功能:
search todo for today with tags shopping
而且我觉得正则表达式将不灵活地执行具有很多变化的命令。这让我想到了实现某种语法。
在 Scala 中,我在这方面有哪些选择?