解析器名称定义为默认值:%start 后"parse"警告野牛
parser name defined to default :"parse" warning bison after %start
我有一个在Linux ubuntu vmplayer上工作的Bison-Flex项目,由于某些原因,我有一个警告,我无法下车..这是文件的开始,我程序(Extra.y是野牛文件)确实以"行"开头:
%{
#include <stdio.h>
#include <stdlib.h>
#include <string>
#include <string.h>
#include <iostream>
#include <map>
#include <math.h>
#include <algorithm>
int yylex();
void yyerror(const char*)
char dollarOrWave=' ';
%}
%left OR
%left AND
%union {
int int_val;
char* str_val;
} //THIS IS LINE 70 !!
%token<int_val> T_INT
%token<str_val> STREXP
%type<int_val> expr
%type<str_val> stringExp
%start lines
%%
lines:
line { }//checkDollars(); }//checkDollars(); }
| lines line { checkDollars(); numStringVarsFlag=0; }
;
警告:
extra.y:70 parser name defined to default :"parse"
搜索我已经看到了:野牛语法警告,但它仍然给我警告。..help ??
最终找到了它。
在%token
%name parse
eg:
%name parse
%token NUM
(来自:https://bdhacker.wordpress.com/2012/05/05/flex-bison-in-in-wubuntu/#comment-2669)
您不使用 bison
;您正在使用bison++
。您应该在问题中清楚地表明这一点,因为它确实有所作为。
您收到的警告消息在bison++
中是正常的;您可以通过明确声明解析器类名来避免它。
来自man bison++
(假设文档已正确安装):
%name parser_name
声明此解析器的名称。C 类名称的用户,并使许多名称唯一。默认是分析。必须在%union
和%define
之前给出。
您缺少A';'%union {}
之后。
%union {
};
相关文章:
- 在Google Kick start中提交时出错
- "Unable to start debugging. No process is associated with this object." - 在Visual Studio Code中使用GDB
- C++生成文件错误"implicit entry/start for main executable"
- Valgrind 在 QThread::start() 上报告内存泄漏
- 为什么我不能调用 QMetaObject::invokeMethod(&threadObj, &QThread::start, Qt::QueuedConnection)?
- 如何将IEnumerable与Process.Start的输出事件处理程序一起使用?
- 调用 Parse int 函数时编译 parse 整数程序时出现问题
- QThread start() return value
- 在Qt中获取输出:'QProcess::start()'和'QProcess:readAllStandardOutPut()'
- Android CMake "致命错误: 'bits/libc-header-start.h' 文件未找到"
- 仅在一台计算机上出现"0xc000007b Application Unable to Start Correctly"错误
- QCamera::start给出神秘的"failed to start"日志消息
- Live555 Parse nal单位是否被送出
- 如何设置Visual Studio来调试DLL ("Unable to start program error")
- 在一个不带参数的函数的声明中指定void是否解决了Most Vexing Parse
- 一个粒子太多:GL_INVALID_VALUE生成错误。<start> 不满足着色器存储缓冲区的最低对齐要求
- "most vexing parse"中的括号应该做什么?
- 创建新元素崩溃后,tinyxml2 xmldocument parse
- 解析器名称定义为默认值:%start 后"parse"警告野牛
- Parse url_encoded_fmt_stream_map