diff options
| author | Marc Vertes <mvertes@free.fr> | 2023-11-20 19:28:31 +0100 |
|---|---|---|
| committer | Marc Vertes <mvertes@free.fr> | 2023-11-20 19:28:31 +0100 |
| commit | ae58deb5da1fa2ae5e461783ce592a9b962da778 (patch) | |
| tree | de1d3bf4ce4ceea9c7386d191aecb6801b407ca0 /parser/compiler.go | |
| parent | 6a0490257bf235d011004bc303306f617ac6ea31 (diff) | |
parser: add pointer support (work in progress)
This is incomplete because the scalar variables are not addressable
right now. To be addressable they must be represented as reflect
values, not interfaces.
Diffstat (limited to 'parser/compiler.go')
| -rw-r--r-- | parser/compiler.go | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/parser/compiler.go b/parser/compiler.go index bdf801b..36aa9d8 100644 --- a/parser/compiler.go +++ b/parser/compiler.go @@ -87,6 +87,12 @@ func (c *Compiler) Codegen(tokens Tokens) (err error) { case lang.Plus: // Nothing to do. + case lang.Address: + emit(int64(t.Pos), vm.Address) + + case lang.Deref: + emit(int64(t.Pos), vm.Deref) + case lang.Index: emit(int64(t.Pos), vm.Index) |
