2012-04-12 42 views
0

我已经定义了使用树梢,最值的分析细语法,但有些看起来像SyntaxNode + [Node]在树梢中意味着什么? (红宝石)

Response+Isupport1 offset=0, "...orted by this server" (host,space1,space2,nickname,space3): 

......还有......

... 
SyntaxNode+Isupport0 offset=52, "WATCH=128 " (token,space): 
    SyntaxNode+Token0 offset=52, "WATCH=128" (parameter,equals,value): 
    ... 

什么的SyntaxNode +节点]的意思?我该如何解决它才能正常工作?因为现在,这些节点具有SyntaxNode类,而不是令牌类(这使得它们是通用的并且不符合我的需要)。

据我所知,定义(token space)+是什么导致了这个(不知道为什么)。

回答

0

你的问题是非常不完整的,这可能是为什么它没有得到答案,但作为编写产生上述显示的检查实现的人,我可以阐明。 Treetop创建SyntaxNodes(或者如果您要求,则创建不同类的实例),然后使用包含代码的mixin模块扩充它们。您可以将多个模块混合到单个节点中,因为只调用一个子规则的规则可以将新模块添加到该子规则返回的节点。每种类型你都包含一个以{开始的代码块,你会得到一个新的模块。每个检测线末端的有趣方法的括号内列表来自这些混合。

但是,至于为什么你的语法不起作用,你必须用你的输入和期望的解析结果来显示给我们,以得到答案。

+0

我不记得问题是什么,所以我会接受你的答案。 – Speed 2013-02-16 12:43:28

+0

啊,如果我没有记错,我试图以“KEY = VALUE KEY = VALUE”等格式解析列表,我无法摆脱空格。 – Speed 2013-02-16 12:45:57