tree-sitter/spec/code_gen_spec.cpp

21 lines
642 B
C++
Raw Normal View History

2013-12-15 19:33:34 -08:00
#include "spec_helper.h"
#include "test_grammars/arithmetic.h"
#include "parse_table_builder.h"
#include "parse_table.h"
#include "c_code.h"
#include <fstream>
using namespace std;
using namespace tree_sitter::lr;
using namespace tree_sitter;
Describe(code_generation) {
string test_parser_dir = src_dir() + "/spec/test_parsers";
It(works_for_the_arithmetic_grammar) {
Grammar grammar = test_grammars::arithmetic();
ParseTable table = ParseTableBuilder::build_table(grammar);
std::ofstream parser_file(test_parser_dir + "/arithmetic.c");
parser_file << code_gen::c_code(grammar, table);
}
};