本文整理汇总了C++中AST::get_root方法的典型用法代码示例。如果您正苦于以下问题:C++ AST::get_root方法的具体用法?C++ AST::get_root怎么用?C++ AST::get_root使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类AST
的用法示例。
在下文中一共展示了AST::get_root方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: hex
CodeGen hex(AST &ast){
CodeGen cg;
cg.generate(ast.get_root());
cg.back_patch();
cg.fill();
// cg.print_hex();
// cg.print_tables();
return cg;
}
示例2: ast_correctness_test_helper
IfNode * if_node = new IfNode;
if_node->conditions.push_back(condition);
WhileNode * while_node = new WhileNode;
if_node->next = while_node;
AssignNode * assign_node = new AssignNode;
while_node->next = assign_node;
PrintNode * print_node = new PrintNode;
assign_node->next = print_node;
// create AST set root which will be deleted automatically
AST ast;
ast.set_root(if_node);
Node * root = ast.get_root();
REQUIRE(root == if_node);
}
void ast_correctness_test_helper(std::string program) {
RXCompiler compiler(PARSE_WITH_AST);
compiler.set_source(program);
REQUIRE_NOTHROW(compiler.compile());
}
TEST_CASE("parser with AST parses correctly") {
SECTION("type inference parse correctly") {
ast_correctness_test_helper("var x = true; x = false");
ast_correctness_test_helper("var x = 1 < 2; x = true");
}