Hi! Recently, i'm having troubles compiling my parser, which worked in bison 2.3. The output message is:
Parser.y:42: error: ISO C++ forbids declaration of ‘Invocation’ with no type Parser.y:42: error: expected ‘;’ before ‘*’ token Parser.y:43: error: ISO C++ forbids declaration of ‘Parameter’ with no type Parser.y:43: error: expected ‘;’ before ‘*’ token Parser.y:44: error: ISO C++ forbids declaration of ‘vector’ with no type Parser.y:44: error: invalid use of ‘::’ Parser.y:44: error: expected ‘;’ before ‘<’ token And header's .y file is: %{ #include <stdio.h> #include <stdlib.h> #include "Driver.h" %} %skeleton "lalr1.cc" %require "2.4" %debug %defines %define "parser_class_name" "Parser" %define "namespace" "ipk" // The parsing context. %parse-param { class Driver& driver } %locations %initial-action { // Initialize the initial location. @$.begin.filename = @$.end.filename = &driver.file; }; %debug %error-verbose %name-prefix="ipk" // Symbols. %union { int ival; std::string *sval; bool bval; Invocation* inv; Parameter* par; std::vector<Parameter>* vpar; }; "Invocation", "Parameter", etc. are types declared at Driver.h file and defined in Driver.cc. I've read about that in this mailing list, but i'm really lost. I don't know which features have changed in 2.4 version that are affecting my project. Can anyone guide me?. Thanks in advance, Cleto --------------------------- Cleto Martín Angelina cleto.mar...@gmail.com _______________________________________________ help-bison@gnu.org http://lists.gnu.org/mailman/listinfo/help-bison