私が取り組んでいるプロジェクトのために ParseKit を使用して Newick ツリーを解析するための文法を構築しています。これは、http: //en.wikipedia.org/wiki/Newick_formatの文法に基づいています。これには、現在作業している既存の不格好な再帰コードではなく、文法を使用したいと思います。
ただし、空の文字列または一般化された文字列と数値を考慮して名前と長さのノードを指定する方法がわかりません。私は、例や ParseKit サイト、および Java 用の Bulding Parsers の本をざっと読んだだけで、ここまでのことを理解しましたが、何かを見逃していました。誰かが私を正しい方向に向けることができますか?
現在の文法:
@start = tree+;
tree = subtree ';' | branch ';';
subtree = leaf | internal;
leaf = name;
internal = '(' branchset ')' name;
branchset = branch | branchset ',' branch;
branch = subtree length;
name = *;
length = * | ':' *
ありがとう!
--考えられる答え:
おそらく、これらの名前と長さのノードが機能するでしょう。誰でも確認できますか?
name = Word | Quoted String;
length = ':' Number;