我试图用下面的EBNF传递一个nuke脚本(foundry.nk文件),但是我似乎在我的“content”文本中捕捉了太多。我也很确定我在格式上犯了一些大错误。有谁能帮我一把吗?在
EBNF:
file := header, content
header := shebang, version
shebang := '#!', ts, word, ('-',[a-zA-Z0-9]+)?,'\n'
version := 'version', ts, [0-9], '.', [0-9], ts, 'v', [0-9], '\n'
content := node*
node := word, ts, '{\n', nodecontent*, '}\n'
nodecontent := ts, knobname, ts, knobvalue, '\n'
knobname := word
knobvalue := word / string / multiknobgroup / knobgroup
knobgroup := '{', (word / string, ts)*, '}'
multiknobgroup := '{\n', (ts, knobgroup, '\n')*, ts, '}\n'
string := '"', word*, '"'
word := ([a-zA-Z0-9-_()/\~.<>?;:])+,ts
ts := [ \t]*
Nukescript:
^{pr2}$当前的EBNF被“views”knobvalue阻塞了。通过将其从节点中移除,我的代码可以按预期工作。我的完整代码在这里:http://pastebin.com/z01RWpqW
谢谢
这是固定的声明:
相关问题 更多 >
编程相关推荐