私はこのようになります(非常に)簡単な言語のパーサ作成しようとしてきた:私は正規表現を使用して、それをばらばらにすることができます block{you are a cow too blkA{ but maybe not} and so is he} hear me moo blockZ{moooooo}
を: .*?[^ ]*?\\{
.*?\\}
[^ ]*?\\{または\\}と一致す
誰かが私に次のような動作を理解させる助けになるかもしれません: parseAll (parseIf, "If bla blablaa")はis expectedになります。代わりに私はいつもstring matching regex 'is\b' expected but 'b' foundを得る。 " If bla is blablaa"(最初は空白に気付く)が同じ振る舞いをするので、空白と何か
テキスト内に「W foo X bar Y baz Z」という文字列を検索したいとします。 W、X、Y、Zは重要ではないセパレータであり、それらを検索してはいけません。 foo、bar、bazが私が興味を持っている言葉です。その順序はそれほど重要ではありません。 私はテキストの中に私の必要な言葉がどのように「良い」かを知りたい。 パックオプションのグループ内の各単語、それは を[(発生することが必要
私はマップ入力を受け取り、ケースクラスを出力できるパーサーを構築したいと思います。今、私はFPを利用していないような命令的なスタイルのコードをいくつか持っています。私は、Caseクラスを出力できるParserを構築する方法を知ることはできません。ここで は私が持っているものです。 def fromMap(m: Map[String,AttributeValue]): User = {
v
下記のような文を効率的に解析するには? キーワード/セパレータは[]内に配置されます。 マネージャー、月、2009 [から]月、人の2012年 名[へ]会社のPvt株式会社[用]デリー、会社名と日付範囲が解析を使用してテキストから抽出されますコンビネータ。以下は、(期待される出力が下部に表示されます) は上述
case class CompanyWithMonthDateRange(c
私は、Scalaパーサーコンビネータを使用するための簡単なWikiライクなマークアップパーサーを実装したいと考えています。 私は少しずつこの問題を解決したいと思いますので、最初のバージョンでは達成したいことがあります:単純なインラインリテラルマークアップです。 例えば、入力文字列がある場合: This is a sytax test ``code here`` . Hello ``World``