summaryrefslogtreecommitdiff
path: root/parser/expr.go
diff options
context:
space:
mode:
authorMarc Vertes <mvertes@free.fr>2024-03-22 16:59:25 +0100
committerGitHub <noreply@github.com>2024-03-22 16:59:25 +0100
commit362f7c9c45598b429c92e67756f41b690043e0c4 (patch)
tree59dd897446880912b4a2ca4a3a8d8c49e3553211 /parser/expr.go
parentbf2d6438e95c60946c64a6692e3dae1d836364a6 (diff)
feat: add initial support for import, provide minimal fmt (#6)
The `import` statement is now parsed. It only provides minimal support for the `fmt` package (only `Println` symbol is defined). This should be sufficient to pass a few tests. Full support of package namespaces, source and binary imports will be supported later, based on this work.
Diffstat (limited to 'parser/expr.go')
-rw-r--r--parser/expr.go12
1 files changed, 1 insertions, 11 deletions
diff --git a/parser/expr.go b/parser/expr.go
index 73b860e..4145240 100644
--- a/parser/expr.go
+++ b/parser/expr.go
@@ -83,17 +83,7 @@ func (p *Parser) ParseExpr(in Tokens) (out Tokens, err error) {
// func call: push args and func address then call
out = append(out, t)
vl++
- if t2 := in[i-1]; t2.Id == lang.Ident {
- if s, sc, ok := p.getSym(t2.Str, p.scope); ok {
- log.Println("callExpr:", t2.Str, p.scope, s, ok, sc)
- if s.kind == symValue {
- // Store the number of input parameters in the token Beg field.
- ops = append(ops, scanner.Token{Id: lang.CallX, Pos: t.Pos, Beg: p.numItems(t.Block(), lang.Comma)})
- break
- }
- }
- }
- ops = append(ops, scanner.Token{Id: lang.Call, Pos: t.Pos})
+ ops = append(ops, scanner.Token{Id: lang.Call, Pos: t.Pos, Beg: p.numItems(t.Block(), lang.Comma)})
case lang.BracketBlock:
out = append(out, t)
vl++