【问题标题】:Boost spirit calculator example runBoost Spirit计算器示例运行
【发布时间】:2012-10-26 21:21:17
【问题描述】:

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

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

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

【问题讨论】:

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


    【解决方案1】:

    您似乎错过了程序解析语句而不是纯表达式这一事实,请参阅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... :-) 
    

    希望对您有所帮助。 考虑升级 boost - 在 Debian/Ubuntus 上从源代码安装非常简单。

    【讨论】:

      猜你喜欢
      • 2021-07-18
      • 2011-11-03
      • 2012-02-28
      • 2011-07-23
      • 1970-01-01
      • 1970-01-01
      • 2022-01-22
      • 2011-04-05
      • 1970-01-01
      相关资源
      最近更新 更多