From a4d7fb2da6a8390b818dae8d07391c7d76e365e9 Mon Sep 17 00:00:00 2001 From: Marc Vertes Date: Wed, 15 Nov 2023 11:59:15 +0100 Subject: parser: hande const declarations Only symbols are produced, no bytecode is emitted. The constant expressions are evaluated at compile time using the stdlib package go/constant. The parser handles implicit repetition of the last non-empty expression list. The iota symbol is reset to 0 and incremented for each line of a const block. To be done in a next commit: type conversions. --- parser/parse.go | 2 ++ 1 file changed, 2 insertions(+) (limited to 'parser/parse.go') diff --git a/parser/parse.go b/parser/parse.go index 7de73b6..131e9c0 100644 --- a/parser/parse.go +++ b/parser/parse.go @@ -75,6 +75,8 @@ func (p *Parser) ParseStmt(in Tokens) (out Tokens, err error) { return p.ParseBreak(in) case lang.Continue: return p.ParseContinue(in) + case lang.Const: + return p.ParseConst(in) case lang.For: return p.ParseFor(in) case lang.Func: -- cgit v1.2.3