tree-sitter/src/compiler/compile.cpp
Max Brunsfeld 5776846227 Make compile take a name argument
Start work on JSON fixture grammar
2014-01-23 13:48:07 -08:00

17 lines
668 B
C++

#include "compile.h"
#include "grammar.h"
#include "prepare_grammar/perform.h"
#include "build_tables/perform.h"
#include "generate_code/c_code.h"
namespace tree_sitter {
std::string compile(const Grammar &grammar, std::string name) {
auto grammars = prepare_grammar::perform(grammar);
auto tables = build_tables::perform(grammars.first, grammars.second);
auto rule_names = grammars.first.rule_names();
auto token_names = grammars.second.rule_names();
rule_names.insert(rule_names.end(), token_names.begin(), token_names.end());
return generate_code::c_code(name, rule_names, tables.first, tables.second);
}
}