From a79e558d825c5b777c95c5e098b01391ee36781e Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Wed, 15 Nov 2023 22:38:46 +0100 Subject: parser: parse struct type declarations Recursive structs and embedded structs are not supported yet. --- parser/decl.go | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) (limited to 'parser/decl.go') diff --git a/parser/decl.go b/parser/decl.go index ba68da0..782b57a 100644 --- a/parser/decl.go +++ b/parser/decl.go @@ -48,7 +48,7 @@ func (p *Parser) parseConstLine(in Tokens) (out Tokens, err error) { } var vars []string if _, vars, err = p.parseParamTypes(decl, parseTypeVar); err != nil { - if errors.Is(err, missingTypeError) { + if errors.Is(err, MissingTypeErr) { for _, lt := range decl.Split(lang.Comma) { vars = append(vars, lt[0].Str) // TODO: compute type from rhs @@ -188,7 +188,7 @@ var gotok = map[lang.TokenId]token.Token{ func (p *Parser) ParseType(in Tokens) (out Tokens, err error) { if len(in) < 2 { - return out, missingTypeError + return out, MissingTypeErr } if in[1].Id != lang.ParenBlock { return p.parseTypeLine(in[1:]) @@ -208,7 +208,7 @@ func (p *Parser) ParseType(in Tokens) (out Tokens, err error) { func (p *Parser) parseTypeLine(in Tokens) (out Tokens, err error) { if len(in) < 2 { - return out, missingTypeError + return out, MissingTypeErr } if in[0].Id != lang.Ident { return out, errors.New("not an ident") @@ -254,7 +254,7 @@ func (p *Parser) parseVarLine(in Tokens) (out Tokens, err error) { } var vars []string if _, vars, err = p.parseParamTypes(decl, parseTypeVar); err != nil { - if errors.Is(err, missingTypeError) { + if errors.Is(err, MissingTypeErr) { for _, lt := range decl.Split(lang.Comma) { vars = append(vars, lt[0].Str) // TODO: compute type from rhs -- cgit v1.2.3