识别 Treetop 语法中的 Ruby 代码
我正在尝试使用 Treetop 来解析 ERB 文件。我需要能够处理如下行: <% ruby_code_here %> <%= other_ruby_code %> 由于 Treetop 是用 Ruby 编…
如何使用 scala 组合解析器抛出有意义的消息异常?
当语言不符合 scala 组合解析器的语法时,我想抛出异常。这是规则的一个示例: def record: Parser[Record] = "-" ~ opt(recordLabel) ~ repsep(colum…
python语法是如何生成的以及解释器如何理解它
我想知道Python语言的语法是如何生成的以及解释器如何理解它。 在python中,文件graminit.c似乎实现了语法,但我不太明白它。 更广泛地说,生成语法有…
是否有可能有一个语法,其中“关键字”是也可以被视为“非关键字”?
我在 ANTLRWorks 1.4 中有以下语法。我正在考虑在文本冒险游戏创建器中实现解析器的想法,其中用户将为他的游戏指定各种允许的命令。 grammar test pa…
这个语法有什么问题? (ANTLRWorks 1.4)
我在 ANTLRWorks 1.4 中编写了以下代码, grammar hmm s : (put_a_in_b)|(put_out_a)|(drop_kick)|(drop_a)|(put_on_a) put_a_in_b : (PUT_SYN)(ID)(I…
ANTLR 语义谓词
我正在尝试在 ANTLR 中使用语义谓词来实现以下语法规则 test[n] :({n==0}? => ~('a')) |({n==1}? => ~('b')) |({n==2}? => ~('c')) 但是,ANTL…
JavaScript 语法中有效的左侧表达式是什么?
好的,我们都知道有效的左侧表达式是什么。有点像。* 但是,看看ECMA-Script 标准的定义,我很困惑: LeftHandSideExpression : NewExpression CallEx…
使用 Parse::RecDescent 进行打印和串联
我正在测试 P::RD 教程 中的语法为了发展我自己的语法。 我还没有弄清楚如何打印字符串声明并将“$”附加到它的前面。 例如,“STRING sDir”应打印出…