aboutsummaryrefslogtreecommitdiff
path: root/src/printer.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/printer.cpp')
-rw-r--r--src/printer.cpp172
1 files changed, 86 insertions, 86 deletions
diff --git a/src/printer.cpp b/src/printer.cpp
index 94233e97e..31a86fe99 100644
--- a/src/printer.cpp
+++ b/src/printer.cpp
@@ -10,190 +10,190 @@ void print_ast(AstNode *node, isize indent) {
return;
switch (node->kind) {
- case AstNode_BasicLiteral:
+ case AstNode_BasicLit:
print_indent(indent);
- print_token(node->basic_literal);
+ print_token(node->basic_lit);
break;
- case AstNode_Identifier:
+ case AstNode_Ident:
print_indent(indent);
- print_token(node->identifier.token);
+ print_token(node->ident.token);
break;
- case AstNode_ProcedureLiteral:
+ case AstNode_ProcLit:
print_indent(indent);
gb_printf("(proc lit)\n");
- print_ast(node->procedure_literal.type, indent+1);
- print_ast(node->procedure_literal.body, indent+1);
+ print_ast(node->proc_lit.type, indent+1);
+ print_ast(node->proc_lit.body, indent+1);
break;
- case AstNode_CompoundLiteral:
+ case AstNode_CompoundLit:
print_indent(indent);
gb_printf("(compound lit)\n");
- print_ast(node->compound_literal.type_expression, indent+1);
- print_ast(node->compound_literal.element_list, indent+1);
+ print_ast(node->compound_lit.type, indent+1);
+ print_ast(node->compound_lit.elem_list, indent+1);
break;
- case AstNode_TagExpression:
+ case AstNode_TagExpr:
print_indent(indent);
gb_printf("(tag)\n");
print_indent(indent+1);
- print_token(node->tag_expression.name);
- print_ast(node->tag_expression.expression, indent+1);
+ print_token(node->tag_expr.name);
+ print_ast(node->tag_expr.expr, indent+1);
break;
- case AstNode_UnaryExpression:
+ case AstNode_UnaryExpr:
print_indent(indent);
- print_token(node->unary_expression.op);
- print_ast(node->unary_expression.operand, indent+1);
+ print_token(node->unary_expr.op);
+ print_ast(node->unary_expr.expr, indent+1);
break;
- case AstNode_BinaryExpression:
+ case AstNode_BinaryExpr:
print_indent(indent);
- print_token(node->binary_expression.op);
- print_ast(node->binary_expression.left, indent+1);
- print_ast(node->binary_expression.right, indent+1);
+ print_token(node->binary_expr.op);
+ print_ast(node->binary_expr.left, indent+1);
+ print_ast(node->binary_expr.right, indent+1);
break;
- case AstNode_CallExpression:
+ case AstNode_CallExpr:
print_indent(indent);
gb_printf("(call)\n");
- print_ast(node->call_expression.proc, indent+1);
- print_ast(node->call_expression.arg_list, indent+1);
+ print_ast(node->call_expr.proc, indent+1);
+ print_ast(node->call_expr.arg_list, indent+1);
break;
- case AstNode_SelectorExpression:
+ case AstNode_SelectorExpr:
print_indent(indent);
gb_printf(".\n");
- print_ast(node->selector_expression.operand, indent+1);
- print_ast(node->selector_expression.selector, indent+1);
+ print_ast(node->selector_expr.expr, indent+1);
+ print_ast(node->selector_expr.selector, indent+1);
break;
- case AstNode_IndexExpression:
+ case AstNode_IndexExpr:
print_indent(indent);
gb_printf("([])\n");
- print_ast(node->index_expression.expression, indent+1);
- print_ast(node->index_expression.value, indent+1);
+ print_ast(node->index_expr.expr, indent+1);
+ print_ast(node->index_expr.index, indent+1);
break;
- case AstNode_CastExpression:
+ case AstNode_CastExpr:
print_indent(indent);
gb_printf("(cast)\n");
- print_ast(node->cast_expression.type_expression, indent+1);
- print_ast(node->cast_expression.operand, indent+1);
+ print_ast(node->cast_expr.type, indent+1);
+ print_ast(node->cast_expr.expr, indent+1);
break;
- case AstNode_DereferenceExpression:
+ case AstNode_DerefExpr:
print_indent(indent);
- gb_printf("(dereference)\n");
- print_ast(node->dereference_expression.operand, indent+1);
+ gb_printf("(deref)\n");
+ print_ast(node->deref_expr.expr, indent+1);
break;
- case AstNode_ExpressionStatement:
- print_ast(node->expression_statement.expression, indent);
+ case AstNode_ExprStmt:
+ print_ast(node->expr_stmt.expr, indent);
break;
- case AstNode_IncDecStatement:
+ case AstNode_IncDecStmt:
print_indent(indent);
- print_token(node->inc_dec_statement.op);
- print_ast(node->inc_dec_statement.expression, indent+1);
+ print_token(node->inc_dec_stmt.op);
+ print_ast(node->inc_dec_stmt.expr, indent+1);
break;
- case AstNode_AssignStatement:
+ case AstNode_AssignStmt:
print_indent(indent);
- print_token(node->assign_statement.op);
- print_ast(node->assign_statement.lhs_list, indent+1);
- print_ast(node->assign_statement.rhs_list, indent+1);
+ print_token(node->assign_stmt.op);
+ print_ast(node->assign_stmt.lhs_list, indent+1);
+ print_ast(node->assign_stmt.rhs_list, indent+1);
break;
- case AstNode_BlockStatement:
+ case AstNode_BlockStmt:
print_indent(indent);
gb_printf("(block)\n");
- print_ast(node->block_statement.list, indent+1);
+ print_ast(node->block_stmt.list, indent+1);
break;
- case AstNode_IfStatement:
+ case AstNode_IfStmt:
print_indent(indent);
gb_printf("(if)\n");
- print_ast(node->if_statement.cond, indent+1);
- print_ast(node->if_statement.body, indent+1);
- if (node->if_statement.else_statement) {
+ print_ast(node->if_stmt.cond, indent+1);
+ print_ast(node->if_stmt.body, indent+1);
+ if (node->if_stmt.else_stmt) {
print_indent(indent);
gb_printf("(else)\n");
- print_ast(node->if_statement.else_statement, indent+1);
+ print_ast(node->if_stmt.else_stmt, indent+1);
}
break;
- case AstNode_ReturnStatement:
+ case AstNode_ReturnStmt:
print_indent(indent);
gb_printf("(return)\n");
- print_ast(node->return_statement.results, indent+1);
+ print_ast(node->return_stmt.result_list, indent+1);
break;
- case AstNode_ForStatement:
+ case AstNode_ForStmt:
print_indent(indent);
gb_printf("(for)\n");
- print_ast(node->for_statement.init, indent+1);
- print_ast(node->for_statement.cond, indent+1);
- print_ast(node->for_statement.end, indent+1);
- print_ast(node->for_statement.body, indent+1);
+ print_ast(node->for_stmt.init, indent+1);
+ print_ast(node->for_stmt.cond, indent+1);
+ print_ast(node->for_stmt.end, indent+1);
+ print_ast(node->for_stmt.body, indent+1);
break;
- case AstNode_DeferStatement:
+ case AstNode_DeferStmt:
print_indent(indent);
gb_printf("(defer)\n");
- print_ast(node->defer_statement.statement, indent+1);
+ print_ast(node->defer_stmt.stmt, indent+1);
break;
- case AstNode_VariableDeclaration:
+ case AstNode_VarDecl:
print_indent(indent);
- if (node->variable_declaration.kind == Declaration_Mutable)
+ if (node->var_decl.kind == Declaration_Mutable)
gb_printf("(decl:var,mutable)\n");
- else if (node->variable_declaration.kind == Declaration_Immutable)
+ else if (node->var_decl.kind == Declaration_Immutable)
gb_printf("(decl:var,immutable)\n");
- print_ast(node->variable_declaration.name_list, indent+1);
- print_ast(node->variable_declaration.type_expression, indent+1);
- print_ast(node->variable_declaration.value_list, indent+1);
+ print_ast(node->var_decl.name_list, indent+1);
+ print_ast(node->var_decl.type, indent+1);
+ print_ast(node->var_decl.value_list, indent+1);
break;
- case AstNode_ProcedureDeclaration:
+ case AstNode_ProcDecl:
print_indent(indent);
- if (node->procedure_declaration.kind == Declaration_Mutable)
+ if (node->proc_decl.kind == Declaration_Mutable)
gb_printf("(decl:proc,mutable)\n");
- else if (node->procedure_declaration.kind == Declaration_Immutable)
+ else if (node->proc_decl.kind == Declaration_Immutable)
gb_printf("(decl:proc,immutable)\n");
- print_ast(node->procedure_declaration.type, indent+1);
- print_ast(node->procedure_declaration.body, indent+1);
- print_ast(node->procedure_declaration.tag_list, indent+1);
+ print_ast(node->proc_decl.type, indent+1);
+ print_ast(node->proc_decl.body, indent+1);
+ print_ast(node->proc_decl.tag_list, indent+1);
break;
- case AstNode_TypeDeclaration:
+ case AstNode_TypeDecl:
print_indent(indent);
gb_printf("(type)\n");
- print_ast(node->type_declaration.name, indent+1);
- print_ast(node->type_declaration.type_expression, indent+1);
+ print_ast(node->type_decl.name, indent+1);
+ print_ast(node->type_decl.type, indent+1);
break;
- case AstNode_AliasDeclaration:
+ case AstNode_AliasDecl:
print_indent(indent);
gb_printf("(alias)\n");
- print_ast(node->alias_declaration.name, indent+1);
- print_ast(node->alias_declaration.type_expression, indent+1);
+ print_ast(node->alias_decl.name, indent+1);
+ print_ast(node->alias_decl.type, indent+1);
break;
- case AstNode_ProcedureType:
+ case AstNode_ProcType:
print_indent(indent);
- gb_printf("(type:proc)(%td -> %td)\n", node->procedure_type.param_count, node->procedure_type.result_count);
- print_ast(node->procedure_type.param_list, indent+1);
- if (node->procedure_type.result_list) {
+ gb_printf("(type:proc)(%td -> %td)\n", node->proc_type.param_count, node->proc_type.result_count);
+ print_ast(node->proc_type.param_list, indent+1);
+ if (node->proc_type.result_list) {
print_indent(indent+1);
gb_printf("->\n");
- print_ast(node->procedure_type.result_list, indent+1);
+ print_ast(node->proc_type.result_list, indent+1);
}
break;
case AstNode_Field:
print_ast(node->field.name_list, indent);
- print_ast(node->field.type_expression, indent);
+ print_ast(node->field.type, indent);
break;
case AstNode_PointerType:
print_indent(indent);
print_token(node->pointer_type.token);
- print_ast(node->pointer_type.type_expression, indent+1);
+ print_ast(node->pointer_type.type, indent+1);
break;
case AstNode_ArrayType:
print_indent(indent);
gb_printf("[]\n");
print_ast(node->array_type.count, indent+1);
- print_ast(node->array_type.element, indent+1);
+ print_ast(node->array_type.elem, indent+1);
break;
case AstNode_StructType:
print_indent(indent);