我正在为我正在进行的一个项目构建语法,使用ParseKit解析Newick树,并且已经完成了这一步骤。这是基于此处的语法:http://en.wikipedia.org/wiki/Newick_format。我想使用语法而不是现有的笨重递归代码。
然而,我不确定如何指定名称和长度节点以考虑空字符串或广义字符串和数字。我从示例、ParseKit网站以及Java构建解析器书籍的浏览中走了这么远,但错过了些东西。请问有人能帮我指点一下方向吗?
当前的语法:
@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;