Программы на C++. Форум разработчиков
-
Anonymous
Flex и bison в С++, при компиляции выдает ошибку, что у функции 'int yylex()' слишком много аргументов.
Сообщение
Anonymous »
лексер
Код: Выделить всё
%{
#include "parser.tab.h"
enum {
STRING = yy::parser::token::STR
};
extern int yylval;
%}
%option noyywrap c++ debug
WORD "\""(\\.|\\\n|[^\\\"])*"\""
%%
{WORD} return STRING;
[\n\t ] ;
%%
парсер
Код: Выделить всё
%{
#include
int yylex();
%}
%skeleton "lalr1.cc"
%require "3.0.2"
%define api.value.type variant
%token STR
%start program
%%
program : STR[a]
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78250938/flex-and-bison-in-c-when-compiling-it-gives-me-an-error-that-there-are-too-m[/url]
1711879272
Anonymous
лексер
[code]%{
#include "parser.tab.h"
enum {
STRING = yy::parser::token::STR
};
extern int yylval;
%}
%option noyywrap c++ debug
WORD "\""(\\.|\\\n|[^\\\"])*"\""
%%
{WORD} return STRING;
[\n\t ] ;
%%
[/code]
парсер
[code]%{
#include
int yylex();
%}
%skeleton "lalr1.cc"
%require "3.0.2"
%define api.value.type variant
%token STR
%start program
%%
program : STR[a]
{
std::cout
Подробнее здесь: [url]https://stackoverflow.com/questions/78250938/flex-and-bison-in-c-when-compiling-it-gives-me-an-error-that-there-are-too-m[/url]