Я нашел это руководство полезным: Начало работы с ANTLR в C ++ . (Ах, после этого я видел комментарий @ggorlen.)
Если вы прокрутите страницу вниз до половины, есть раздел под названием Как использовать ANTLR в C ++ . Я думаю, что это то, где вы находитесь.
Я скопирую этот пример, поскольку SO обычно предпочитает это. Скажем, это ваш main. cpp:
#include <iostream>
#include "antlr4-runtime/antlr4-runtime.h"
#include "antlr4-runtime/SceneLexer.h"
#include "antlr4-runtime/SceneParser.h"
#include "ImageVisitor.h"
using namespace std;
using namespace antlr4;
int main(int argc, const char* argv[]) {
std::ifstream stream;
stream.open("input.scene");
ANTLRInputStream input(stream);
SceneLexer lexer(&input);
CommonTokenStream tokens(&lexer);
SceneParser parser(&tokens);
SceneParser::FileContext* tree = parser.file();
ImageVisitor visitor;
Scene scene = visitor.visitFile(tree);
scene.draw();
return 0;
}
Вы хотите включить в пример файлы лексера и парсера .h (заголовки) вместо SceneLexer / Parser, а также включить antlr4-runtime. час Затем запустите g ++ для всех ваших файлов. cpp, например,
$ g++ main.cpp YourLexer.h YourParser.h