1

我正在尝试使用 Shutting Yard (SY) 算法解析语法。语法包括以下命令(不过还有很多其他命令!)

a + b // a and b are numbers
setxy c d //c,d can be numbers
setxy c+d b+a //all numbers

本质上, setxy 是一个函数,但它不需要任何函数参数分隔符。由于缺少括号和函数参数分隔符,这使得通过 SY 进行操作变得非常困难(不可能?)。

知道 SY 是否可用于解析无括号/函数参数无分隔符的函数,还是应该继续使用不同的解析算法?如果是这样,你会推荐哪一个?

谢谢!DJ22

4

2 回答 2

2

定义正确的语法后,您可以让http://www.antlr.org/为您生成解析器。是否合适的解决方案取决于您的作业“要求”。

至少你可以生成它并在里面寻找一些提示。

于 2011-02-27T18:11:31.320 回答
-2

我不完全理解您要做什么,但也许您可以使用一些正则表达式?你想做什么写一个简单的命令行程序?

于 2011-02-27T17:44:09.117 回答