help-bison
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

undefined symbol for the c++ parser::error() function


From: Scott Lorberbaum
Subject: undefined symbol for the c++ parser::error() function
Date: Wed, 2 Jun 2021 16:13:34 -0600

My namespace is ucc;
I've named the parser uccParser;


This function below I find in the generated ucc.tab.cpp file
  void
  uccParser::error (const syntax_error& yyexc)
  {
    error (yyexc.location, yyexc.what ());
  }

unfortunately the ucc.tab.hpp file that is generated does not include a
definition of this function inside the class it creates.

Here is some of the top of the grammar file that may have some pertinent
information.

--------------------------
%skeleton "lalr1.cc"
%require "3.7"

%define parse.assert

%defines
%locations

%define api.value.type variant
//%define api.token.constructor
%define api.token.raw

%define api.namespace{ucc}
%define api.parser.class {uccParser}

%code requires {
namespace ucc{
class Compiler;
class TableEntry;
}
#include "cpptypes.hpp"
#include "List.hpp"
#include "type.hpp"
using namespace ucc;
}

%parse-param{ Compiler& compiler }

--------------------------------

Below is the error I get at the linking stage after compiling the objects.
---------------------------------

Undefined symbols for architecture x86_64:
  "ucc::uccParser::error(ucc::location const&, std::__1::basic_string<char,
std::__1::char_traits<char>, std::__1::allocator<char> > const&)",
referenced from:
      vtable for ucc::uccParser in ucc-a858ea.o

------------------------------------

Thoughts? Thank you in advance.


reply via email to

[Prev in Thread] Current Thread [Next in Thread]