我正在为我正在处理的项目构建一个语法来使用 ParseKit 解析 Newick 树,并且我已经做到了这一点。它基于此处的语法:http ://en.wikipedia.org/wiki/Newick_format 。我想为此使用语法,而不是我现在正在使用的现有笨重的递归代码。
但是,我不确定如何指定名称和长度节点来说明空字符串或通用字符串和数字。我已经远离示例和 ParseKit 站点以及一些浏览 Bulding Parsers for 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;