Add C++ template for lex / yacc setup

This commit is contained in:
2024-01-17 20:28:40 +01:00
parent 06893c21ab
commit 5190e3116b
9 changed files with 163 additions and 225 deletions

View File

@@ -0,0 +1,38 @@
#ifndef _TPR_SCANNER_HPP_
#define _TPR_SCANNER_HPP_
#if ! defined(yyFlexLexerOnce)
#include <FlexLexer.h>
#endif
#include "tpr-parser.hpp"
#include "location.hh"
namespace tpr {
class TempProfileScanner : public yyFlexLexer{
public:
TempProfileScanner(std::istream *in) : yyFlexLexer(in) {
};
virtual ~TempProfileScanner() {};
//get rid of override virtual function warning
using FlexLexer::yylex;
virtual
int yylex( tpr::TempProfileParser::semantic_type * const lval,
tpr::TempProfileParser::location_type *location );
// YY_DECL defined in mc_lexer.l
// Method body created by flex in mc_lexer.yy.cc
private:
/* yyval ptr */
tpr::TempProfileParser::semantic_type *yylval = nullptr;
};
} /* end namespace MC */
#endif /* _TPR_SCANNER_HPP_ */