From 52bf655a3f2c89351574a64418d9a71f09e80425 Mon Sep 17 00:00:00 2001 From: Kyle Gunger Date: Tue, 30 Jul 2024 21:21:12 -0400 Subject: maybe helper decl --- tnslc/parse/ast.tnsl | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) (limited to 'tnslc') diff --git a/tnslc/parse/ast.tnsl b/tnslc/parse/ast.tnsl index 5bf84c8..b55bc74 100644 --- a/tnslc/parse/ast.tnsl +++ b/tnslc/parse/ast.tnsl @@ -91,6 +91,9 @@ struct Node { # AST lists +/; _maybe_helper_decl (~utils.File fin, ~Node mod, ) +;/ + /; _ast_list_decl (~utils.File fin, ~Node mod, ~Token first) Node list list.init(NTYPE_DLIST) @@ -100,7 +103,16 @@ struct Node { first` = produce_next_token(fin, first`) /; loop (first`._type !== TTYPE_ERR && first`.data` !== end) - # TODO + /; if (first`._type == TTYPE_KEYTP || first`.eq("~\0") == true || first`.eq("{\0") == true) + _ast_type(fin, ~list, first) + ;; else if (first`._type == TTYPE_USRWD) + _maybe_helper_decl(fin, ~list, first) + ;; else + _ast_print_err(first, "Expected type or parameter name in declaration list\0") + mod`.sub.push(~list) + return + ;/ + ;/ mod`.sub.push(~list) -- cgit v1.2.3