diff options
| author | Marc Vertes <mvertes@free.fr> | 2024-04-02 11:27:13 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-04-02 11:27:13 +0200 |
| commit | 1bff92c52b27b9a516599e172fe9852c3d99be38 (patch) | |
| tree | 26b30b5ec1a5537dcafd806d23e03a062475705d /vm | |
| parent | 362f7c9c45598b429c92e67756f41b690043e0c4 (diff) | |
chore: add linters and some lint fixes (#8)
* chore: add linters and some lint fixes
Configure some golangci-lint linters to get the code quality right.
Apply the first fixes.
Next step will be to add github actions to run lint and tests in
github CI.
* chore: more lint, fixed comments and variable names. no semantic change.
* chore: add Makefile
This makefile is intended to be used as a local substitute to github
actions.
Diffstat (limited to 'vm')
| -rw-r--r-- | vm/vm.go | 6 |
1 files changed, 4 insertions, 2 deletions
@@ -11,7 +11,7 @@ const debug = true // Byte-code instruction set. const ( - // instruction effect on stack: values consumed -- values produced + // Instruction effect on stack: values consumed -- values produced. Nop = iota // -- Add // n1 n2 -- sum ; sum = n1+n2 Addr // a -- &a ; @@ -229,7 +229,7 @@ func (m *Machine) Run() (err error) { case Pop: mem = mem[:sp-int(op[2])] case Push: - //mem = append(mem, reflect.ValueOf(int(op[2]))) + // mem = append(mem, reflect.ValueOf(int(op[2]))) mem = append(mem, NewValue(TypeOf(0))) mem[sp].Data.SetInt(op[2]) case Grow: @@ -268,12 +268,14 @@ func (m *Machine) Push(v ...Value) (l int) { m.mem = append(m.mem, v...) return l } + func (m *Machine) Pop() (v Value) { l := len(m.mem) - 1 v = m.mem[l] m.mem = m.mem[:l] return v } + func (m *Machine) Top() (v Value) { if l := len(m.mem); l > 0 { v = m.mem[l-1] |
