Я работаю над написанием простого препроцессора для компилятора. Ниже отредактированный фрагмент моего кода:
%{
#include <string.h>
#include <hash_map>
#include "scanner.h"
#include "errors.h"
struct eqstr {
bool operator()(const char* s1, const char* s2) const {
return strcmp(s1, s2) == 0;
}
};
std::hash_map<const char*, char*, hash<const char*>, eqstr> defs; // LINE 28
%}
// Definitions here
%%
// Patterns and actions here
%%
При компиляции я получаю следующую ошибку:
dpp.l: 28: ошибка: ожидаемый конструктор,
деструктор или преобразование типов перед
To <’токен </p>
Есть идеи, что может быть не так с этим? Я скопировал и вставил эту строку из документации sgi.