我可能只是以错误的方式思考这个问题,但是以 ruby 为例,以下工作
ree-1.8.7-2011.03 :004 > a =
ree-1.8.7-2011.03 :005 > 1
=> 1
但是,以下会引发错误
ree-1.8.7-2011.03 :006 > a sdlkfj
NameError: undefined local variable or method `sdlkfj' for #<Object:0x101986e88>
这当然看起来很明显,但这意味着 ruby 中有一个逻辑在说“这行是一个完整、正确的表达式,一个不完整的(但可能是正确的!)表达式,或者只是一个永远不可能完整的表达式。
一次使用 ANTLR 解析脚本很容易,但我想知道如何最好地支持这样的增量脚本。我想一种方法是制作一种语法,其唯一目的是验证“不完整但可能正确的表达式”,但这似乎会导致一些严重的代码重复……在 ANTLR 中是否有更优雅的方式来支持这一点?
提前致谢