Blame vhdlparser/VhdlParserErrorHandler.hpp
|
Packit |
1c1d7e |
#ifndef VHDLPARSERERRORHANDLER_H
|
|
Packit |
1c1d7e |
#define VHDLPARSERERRORHANDLER_H
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#include <stdio.h>
|
|
Packit |
1c1d7e |
#include <stdlib.h>
|
|
Packit |
1c1d7e |
#include <exception>
|
|
Packit |
1c1d7e |
#include "VhdlParser.h"
|
|
Packit |
1c1d7e |
#include "ErrorHandler.h"
|
|
Packit |
1c1d7e |
#include "vhdlstring.h"
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
namespace vhdl { namespace parser {
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
class VhdlErrorHandler: public ErrorHandler
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
virtual void handleUnexpectedToken(int expectedKind, JAVACC_STRING_TYPE expectedToken, Token *actual, VhdlParser *parser)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
fprintf(stderr,"\n\n syntax error at line: %d : %s\n", actual->beginLine,actual->image.data());
|
|
Packit |
1c1d7e |
error_count++;
|
|
Packit |
1c1d7e |
throw std::exception();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
virtual void handleParseError(Token *last, Token *unexpected, JAVACC_SIMPLE_STRING production, VhdlParser *parser)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
fprintf(stderr,"\n\n unexpected token at line: %d %s\n", last->beginLine,unexpected->image.data());
|
|
Packit |
1c1d7e |
error_count++;
|
|
Packit |
1c1d7e |
throw std::exception();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
virtual void handleOtherError(JAVACC_STRING_TYPE message, VhdlParser *parser)
|
|
Packit |
1c1d7e |
{
|
|
Packit |
1c1d7e |
fprintf(stderr, "\n\n unexpected error: %s\n", (char*)message.c_str());
|
|
Packit |
1c1d7e |
error_count++;
|
|
Packit |
1c1d7e |
throw std::exception();
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
};
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
}
|
|
Packit |
1c1d7e |
|
|
Packit |
1c1d7e |
#endif
|
|
Packit |
1c1d7e |
|