Browse Source

Remove old "macro" parsing code

gingerBill 7 years ago
parent
commit
3a44c62ecf
2 changed files with 0 additions and 60 deletions
  1. 0 5
      src/check_expr.cpp
  2. 0 55
      src/parser.cpp

+ 0 - 5
src/check_expr.cpp

@@ -5932,11 +5932,6 @@ ExprKind check_expr_base_internal(Checker *c, Operand *o, AstNode *node, Type *t
 		return check_call_expr(c, o, node);
 	case_end;
 
-	case_ast_node(ce, MacroCallExpr, node);
-		error(node, "Macro calls are not yet supported");
-		return kind;
-	case_end;
-
 	case_ast_node(de, DerefExpr, node);
 		check_expr_or_type(c, o, de->expr);
 		if (o->mode == Addressing_Invalid) {

+ 0 - 55
src/parser.cpp

@@ -210,13 +210,6 @@ AST_NODE_KIND(_ExprBegin,  "",  i32) \
 		Token        close; \
 		Token        ellipsis; \
 	}) \
-	AST_NODE_KIND(MacroCallExpr, "macro call expression", struct { \
-		AstNode *    macro; \
-		Token        bang; \
-		Array<AstNode *> args; \
-		Token        open; \
-		Token        close; \
-	}) \
 	AST_NODE_KIND(FieldValue,    "field value",         struct { Token eq; AstNode *field, *value; }) \
 	AST_NODE_KIND(TernaryExpr,   "ternary expression",  struct { AstNode *cond, *x, *y; }) \
 	AST_NODE_KIND(TypeAssertion, "type assertion",      struct { AstNode *expr; Token dot; AstNode *type; }) \
@@ -567,7 +560,6 @@ Token ast_node_token(AstNode *node) {
 	case AstNode_BinaryExpr:    return ast_node_token(node->BinaryExpr.left);
 	case AstNode_ParenExpr:     return node->ParenExpr.open;
 	case AstNode_CallExpr:      return ast_node_token(node->CallExpr.proc);
-	case AstNode_MacroCallExpr: return ast_node_token(node->MacroCallExpr.macro);
 	case AstNode_SelectorExpr:
 		if (node->SelectorExpr.selector != nullptr) {
 			return ast_node_token(node->SelectorExpr.selector);
@@ -732,10 +724,6 @@ AstNode *clone_ast_node(gbAllocator a, AstNode *node) {
 		n->CallExpr.proc = clone_ast_node(a, n->CallExpr.proc);
 		n->CallExpr.args = clone_ast_node_array(a, n->CallExpr.args);
 		break;
-	case AstNode_MacroCallExpr:
-		n->MacroCallExpr.macro = clone_ast_node(a, n->MacroCallExpr.macro);
-		n->MacroCallExpr.args  = clone_ast_node_array(a, n->MacroCallExpr.args);
-		break;
 
 	case AstNode_FieldValue:
 		n->FieldValue.field = clone_ast_node(a, n->FieldValue.field);
@@ -1049,16 +1037,6 @@ AstNode *ast_call_expr(AstFile *f, AstNode *proc, Array<AstNode *> args, Token o
 	return result;
 }
 
-AstNode *ast_macro_call_expr(AstFile *f, AstNode *macro, Token bang, Array<AstNode *> args, Token open, Token close) {
-	AstNode *result = make_ast_node(f, AstNode_MacroCallExpr);
-	result->MacroCallExpr.macro = macro;
-	result->MacroCallExpr.bang  = bang;
-	result->MacroCallExpr.args  = args;
-	result->MacroCallExpr.open  = open;
-	result->MacroCallExpr.close = close;
-	return result;
-}
-
 
 AstNode *ast_selector_expr(AstFile *f, Token token, AstNode *expr, AstNode *selector) {
 	AstNode *result = make_ast_node(f, AstNode_SelectorExpr);
@@ -2634,36 +2612,6 @@ AstNode *parse_call_expr(AstFile *f, AstNode *operand) {
 	return ast_call_expr(f, operand, args, open_paren, close_paren, ellipsis);
 }
 
-
-AstNode *parse_macro_call_expr(AstFile *f, AstNode *operand) {
-	Array<AstNode *> args = make_ast_node_array(f);
-	Token bang, open_paren, close_paren;
-
-	bang = expect_token(f, Token_Not);
-
-	f->expr_level++;
-	open_paren = expect_token(f, Token_OpenParen);
-
-	while (f->curr_token.kind != Token_CloseParen &&
-	       f->curr_token.kind != Token_EOF) {
-		if (f->curr_token.kind == Token_Comma) {
-			syntax_error(f->curr_token, "Expected an expression not a ,");
-		}
-
-		AstNode *arg = parse_expr(f, false);
-		array_add(&args, arg);
-
-		if (!allow_token(f, Token_Comma)) {
-			break;
-		}
-	}
-
-	f->expr_level--;
-	close_paren = expect_closing(f, Token_CloseParen, str_lit("argument list"));
-
-	return ast_macro_call_expr(f, operand, bang, args, open_paren, close_paren);
-}
-
 AstNode *parse_atom_expr(AstFile *f, AstNode *operand, bool lhs) {
 	if (operand == nullptr) {
 		if (f->allow_type) return nullptr;
@@ -2679,9 +2627,6 @@ AstNode *parse_atom_expr(AstFile *f, AstNode *operand, bool lhs) {
 		case Token_OpenParen:
 			operand = parse_call_expr(f, operand);
 			break;
-		case Token_Not:
-			operand = parse_macro_call_expr(f, operand);
-			break;
 
 		case Token_Period: {
 			Token token = advance_token(f);