Scalaでコマンドを解析するアプリケーションを作成しています。コマンドの例は次のとおりです。
todo get milk for friday
したがって、計画では、かなりスマートなパーサーが行を分割し、コマンド部分と文字列に時間への参照があるという事実を認識します。
一般的に、私はScalaでトークナイザーを作成する必要があります。だから私はこれのための私のオプションは何であるか疑問に思っています。私は正規表現に精通していますが、SQLのような検索機能も作成する予定です。
search todo for today with tags shopping
そして、正規表現は、バリエーションの多いコマンドを実装するのに柔軟性がないだろうと感じています。これは私にある種の文法を実装することを考えるように導きます。
Scalaでのこの点に関する私のオプションは何ですか?