使用Flex++的常见困难

Common difficulty with Flex++

本文关键字:常见困 Flex++ 使用      更新时间:2023-10-16

注意:有超过1500个代表的人。请添加flex++和bison++作为标签:)。

似乎互联网上所有的人都在Flex++中得到以下错误:

scanner.l:1: bad character: %
scanner.l:1: unknown error processing section 1

这种情况发生在我给Flex++的任何示例中。我的版本是从这里,我已经尝试了那个页面上的确切例子,我仍然得到这些错误。我已经在Linux和Mac上尝试过了,完全没有想法了!

似乎Flex++也是一个老病毒的名字,所以很难得到有用的讨论!

编辑:

下面是一个产生上述错误的示例(前几行来自上面链接的示例):

%name CalcScanner
%define IOSTREAM
%define LEX_PARAM YY_CalcParser_STYPE *val, YY_CalcParser_LTYPE *loc
%define MEMBERS public: int line, column;                                                                                               
%define CONSTRUCTOR_INIT : line(1), column(1)
%header{
#include<sstream>
#include "parser.h"
%}

任何帮助都太好了。

编辑2:请人们不要编辑这篇文章,把'flex'标签?我会用Flex来做标记,但Flex也是Adobe的技术——它不是我使用的工具。SO上的flex标签是用于Adobe产品的(因此标签上有徽标)。

检查行尾?CR+LF vs NL在这里可能会有所不同。