提升精神计算器示例运行

时间:2012-10-26 21:21:18

标签: c++ boost compiler-construction grammar boost-spirit

我是精神初学者,现在正在研究它。我在this示例,一个简单的计算器。我成功编译并运行了该程序。运行它所说的程序时,键入一些语句然后键入。编译并运行这些语句。我在不同的运行中键入以下内容,并在每行之后键入a。 (期)。

2
2;
2*2
2*2;
x=2
x=2;

但它们都不起作用。每次它说“解析失败。”。缺少什么,或者示例中是否存在错误。示例程序的语法是here。请注意,我知道我没有使用最新版本,我使用1.46.1版本,这是Ubuntu 12.04中的默认版本。

1 个答案:

答案 0 :(得分:2)

您似乎错过了程序解析语句而不是裸表达式的事实,请参阅http://www.boost.org/doc/libs/1_46_1/libs/spirit/example/qi/calc6/calc6c.hpp

所以试试这个:

var y; 
var x = 6; 
y = 3 * x;

输出:

-------------------------
Parsing succeeded
-------------------------
Results------------------

    x: 6
    y: 18
-------------------------

Bye... :-) 

希望有所帮助。并且 考虑升级提升 - 在Debian / Ubuntus上从源代码安装它非常简单。