20 lines
No EOL
608 B
C++
20 lines
No EOL
608 B
C++
#include "spec_helper.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/fixtures/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);
|
|
}
|
|
}; |