From 2eab5877e1c634db872b595dd2414f4031ae4eb5 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Mon, 13 Nov 2023 09:34:56 +0100 Subject: parser: initial support for type declarations. The parsing logic for type declarations is there. Note that no tokens are produced, only symbols. The different type kinds will be added next. --- parser/parse.go | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) (limited to 'parser/parse.go') diff --git a/parser/parse.go b/parser/parse.go index a7675b4..7de73b6 100644 --- a/parser/parse.go +++ b/parser/parse.go @@ -87,6 +87,8 @@ func (p *Parser) ParseStmt(in Tokens) (out Tokens, err error) { return p.ParseReturn(in) case lang.Switch: return p.ParseSwitch(in) + case lang.Type: + return p.ParseType(in) case lang.Var: return p.ParseVar(in) case lang.Ident: @@ -226,7 +228,7 @@ func (p *Parser) ParseFunc(in Tokens) (out Tokens, err error) { if bi < 0 { return out, fmt.Errorf("no function body") } - typ, err := p.ParseType(in[:bi]) + typ, err := p.ParseTypeExpr(in[:bi]) if err != nil { return out, err } -- cgit v1.2.3