Hello,

I'm receiving the following errors when I compile:

In file included from compiler.l:17:
parser.y:27: error: ISO C++ forbids declaration of 'list' with no type
parser.y:27: error: invalid use of '::'
parser.y:27: error: expected ';' before '<' token
parser.y:28: error: ISO C++ forbids declaration of 'Variable' with no type
parser.y:28: error: expected ';' before '*' token
parser.y:29: error: ISO C++ forbids declaration of 'UnaryOperation' with no type
parser.y:29: error: expected ';' before '*' token
parser.y:30: error: ISO C++ forbids declaration of 'BinaryOperation'
with no type
parser.y:30: error: expected ';' before '*' token
parser.y:31: error: ISO C++ forbids declaration of 'Expression' with no type
parser.y:31: error: expected ';' before '*' token
parser.y:32: error: ISO C++ forbids declaration of 'DataLiteral' with no type
parser.y:32: error: expected ';' before '*' token

I've seen a fairly old thread that attempted to address this issue,
saying that my include files might not be in the right order, but the
top of my file looks like the following:

%error-verbose

%{

int yylex();

#include <iostream>
#include "expressions.hpp"
#include "statements.hpp"

extern bool outputTokens;
extern bool outputParser;

void yyerror( char* msg )
{
        std::cerr << msg << std::endl;
}

%}

%union
{
        int intVal;
        bool boolVal;
        char* strVal;
        std::list<const Variable::Qualifier*>* qList;
        Variable* var;
        UnaryOperation* uop;
        BinaryOperation* binop;
        Expression* expr;
        DataLiteral* datalit;
}

expressions.hpp contains the datatypes in question.

I was wondering if someone might let me know what I was doing wrong.

Thanks,
B.J.


_______________________________________________
help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison

Reply via email to