关于re2c + lemon有一个很好的工作教程吗?

时间:2016-03-25 23:12:52

标签: lemon re2c

我试了几个。谷歌只有几个关于re2c + lemon的教程 目前,对于所有示例,我都会遇到类似的错误:

In file included from main.cpp:2:0:
parser.y:44:5: error: ‘yygotominor’ was not declared in this scope
     A.int_value = B.int_value * C.int_value;
     ^
In file included from main.cpp:2:0:
parser.c:770:16: error: ‘YY_MAX_SHIFTREDUCE’ was not declared in this scope
   if( yyact <= YY_MAX_SHIFTREDUCE ){
                ^
parser.c:771:15: error: ‘YY_MAX_SHIFT’ was not declared in this scope
     if( yyact>YY_MAX_SHIFT ) yyact += YY_MIN_REDUCE - YY_MIN_SHIFTREDUCE;
               ^

它在哪里宣布?

PS:不要发布10条旧文章(即使没有代码或者代码现在无法编译)。如果可以 - 在这里写一个例子。如果不是 - 请不要发布Google链接。

1 个答案:

答案 0 :(得分:3)

本教程适合我:

  1. 获取re2c(有关详细信息,请参阅re2c安装页面http://re2c.org/install/install.html)。

  2. 获取柠檬:下载tarball wget http://prdownloads.sourceforge.net/souptonuts/lemon_examples.tar.gz,提取并构建(我必须在#include <stdlib.h>)的许多示例中添加malloc

  3. 克隆github回购https://github.com/tokuhirom/re2c-lemon-tutorialgit clone https://github.com/tokuhirom/re2c-lemon-tutorial.git

  4. 修补re2c-lemon-tutorial / Makefile以查找柠檬和re2c(如果需要)。

  5. make./mycalc并享受(点击Ctrl+D停止并发出结果)。

  6. re2c网站上的更多re2c示例:http://re2c.org,柠檬tarball中的更多柠檬示例。