diff options
| author | Marc Vertes <mvertes@free.fr> | 2023-11-13 09:34:56 +0100 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2023-11-13 09:34:56 +0100 |
| commit | 2eab5877e1c634db872b595dd2414f4031ae4eb5 (patch) | |
| tree | 66cf2f71f0e449ee629d684b4f9fe30d7bf1d61f /parser/parse.go | |
| parent | 1977ce7c976cbbd5bd0de1d479a0abe269e62f3d (diff) | |
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.
Diffstat (limited to 'parser/parse.go')
| -rw-r--r-- | parser/parse.go | 4 |
1 files changed, 3 insertions, 1 deletions
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 } |
