go-vise

Constrained Size Output Virtual Machine
Info | Log | Files | Refs | README | LICENSE

commit b55edd2678a36ea819db8a9d58ef0001aff85483
parent 9e4205e6e8e994c762042bcfe42826e0b4bd7a48
Author: lash <dev@holbrook.no>
Date:   Sat,  8 Apr 2023 09:53:17 +0100

Remove MNEXT, MPREV again (sigh)

Diffstat:
Mgo/asm/menu.go | 4++--
Mgo/asm/menu_test.go | 4++--
Mgo/resource/resource.go | 30+++++++++++++++---------------
Mgo/vm/debug.go | 32++++++++++++++++----------------
Mgo/vm/debug_test.go | 38+++++++++++++++++++-------------------
Mgo/vm/opcodes.go | 12++++++------
Mgo/vm/runner.go | 46+++++++++++++++++++++++-----------------------
Mgo/vm/vm.go | 18+++++++++---------
8 files changed, 92 insertions(+), 92 deletions(-)

diff --git a/go/asm/menu.go b/go/asm/menu.go @@ -69,10 +69,10 @@ func (mp *MenuProcessor) ToLines() []byte { preLines = vm.NewLine(preLines, vm.MOUT, []string{v.choice, v.display}, nil, nil) postLines = vm.NewLine(postLines, vm.INCMP, []string{v.choice, "_"}, nil, nil) case MENU_NEXT: - preLines = vm.NewLine(preLines, vm.MNEXT, []string{v.choice, v.display}, nil, nil) + preLines = vm.NewLine(preLines, vm.MOUT, []string{v.choice, v.display}, nil, nil) postLines = vm.NewLine(postLines, vm.INCMP, []string{v.choice, ">"}, nil, nil) case MENU_PREVIOUS: - preLines = vm.NewLine(preLines, vm.MPREV, []string{v.choice, v.display}, nil, nil) + preLines = vm.NewLine(preLines, vm.MOUT, []string{v.choice, v.display}, nil, nil) postLines = vm.NewLine(postLines, vm.INCMP, []string{v.choice, "<"}, nil, nil) default: preLines = vm.NewLine(preLines, vm.MOUT, []string{v.choice, v.display}, nil, nil) diff --git a/go/asm/menu_test.go b/go/asm/menu_test.go @@ -35,8 +35,8 @@ func TestMenuInterpreter(t *testing.T) { t.Fatal(err) } expect := `MOUT 0 "inky" -MNEXT 1 "pinky" -MPREV 2 "blinky clyde" +MOUT 1 "pinky" +MOUT 2 "blinky clyde" MOUT 99 "tinky-winky" HALT INCMP 0 foo diff --git a/go/resource/resource.go b/go/resource/resource.go @@ -19,7 +19,7 @@ type Resource interface { GetCode(sym string) ([]byte, error) // Get the bytecode for the given symbol. PutMenu(string, string) error // Add a menu item. ShiftMenu() (string, string, error) // Remove and return the first menu item in list. - SetMenuBrowse(string, string, bool) error // Set menu browser display details. +// SetMenuBrowse(string, string, bool) error // Set menu browser display details. RenderTemplate(sym string, values map[string]string, idx uint16, sizer *Sizer) (string, error) // Render the given data map using the template of the symbol. RenderMenu() (string, error) // Render the current state of menu Render(sym string, values map[string]string, idx uint16, sizer *Sizer) (string, error) // Render full output. @@ -55,20 +55,20 @@ func(m *MenuResource) WithTemplateGetter(templateGetter TemplateFunc) *MenuResou return m } -// SetMenuBrowse defines the how pagination menu options should be displayed. -// -// The selector is the expected user input, and the title is the description string. -// -// If back is set, the option will be defined for returning to a previous page. -func(m *MenuResource) SetMenuBrowse(selector string, title string, back bool) error { - entry := [2]string{selector, title} - if back { - m.prev = entry - } else { - m.next = entry - } - return nil -} +//// SetMenuBrowse defines the how pagination menu options should be displayed. +//// +//// The selector is the expected user input, and the title is the description string. +//// +//// If back is set, the option will be defined for returning to a previous page. +//func(m *MenuResource) SetMenuBrowse(selector string, title string, back bool) error { +// entry := [2]string{selector, title} +// if back { +// m.prev = entry +// } else { +// m.next = entry +// } +// return nil +//} // PutMenu adds a menu option to the menu rendering. func(m *MenuResource) PutMenu(selector string, title string) error { diff --git a/go/vm/debug.go b/go/vm/debug.go @@ -129,22 +129,22 @@ func ParseAll(b []byte, w io.Writer) (int, error) { rs = fmt.Sprintf("%s %s \"%s\"\n", s, r, v) } } - case MNEXT: - r, v, bb, err := ParseMNext(b) - b = bb - if err == nil { - if w != nil { - rs = fmt.Sprintf("%s %s \"%s\"\n", s, r, v) - } - } - case MPREV: - r, v, bb, err := ParseMPrev(b) - b = bb - if err == nil { - if w != nil { - rs = fmt.Sprintf("%s %s \"%s\"\n", s, r, v) - } - } +// case MNEXT: +// r, v, bb, err := ParseMNext(b) +// b = bb +// if err == nil { +// if w != nil { +// rs = fmt.Sprintf("%s %s \"%s\"\n", s, r, v) +// } +// } +// case MPREV: +// r, v, bb, err := ParseMPrev(b) +// b = bb +// if err == nil { +// if w != nil { +// rs = fmt.Sprintf("%s %s \"%s\"\n", s, r, v) +// } +// } } if err != nil { return rn, err diff --git a/go/vm/debug_test.go b/go/vm/debug_test.go @@ -91,25 +91,25 @@ func TestToString(t *testing.T) { t.Fatalf("expected:\n\t%v\ngot:\n\t%v", expect, r) } - b = NewLine(nil, MNEXT, []string{"11", "nextmenu"}, nil, nil) - r, err = ToString(b) - if err != nil { - t.Fatal(err) - } - expect = "MNEXT 11 \"nextmenu\"\n" - if r != expect { - t.Fatalf("expected:\n\t%v\ngot:\n\t%v", expect, r) - } - - b = NewLine(nil, MPREV, []string{"222", "previous menu item"}, nil, nil) - r, err = ToString(b) - if err != nil { - t.Fatal(err) - } - expect = "MPREV 222 \"previous menu item\"\n" - if r != expect { - t.Fatalf("expected:\n\t%v\ngot:\n\t%v", expect, r) - } +// b = NewLine(nil, MNEXT, []string{"11", "nextmenu"}, nil, nil) +// r, err = ToString(b) +// if err != nil { +// t.Fatal(err) +// } +// expect = "MNEXT 11 \"nextmenu\"\n" +// if r != expect { +// t.Fatalf("expected:\n\t%v\ngot:\n\t%v", expect, r) +// } +// +// b = NewLine(nil, MPREV, []string{"222", "previous menu item"}, nil, nil) +// r, err = ToString(b) +// if err != nil { +// t.Fatal(err) +// } +// expect = "MPREV 222 \"previous menu item\"\n" +// if r != expect { +// t.Fatalf("expected:\n\t%v\ngot:\n\t%v", expect, r) +// } b = NewLine(nil, MOUT, []string{"1", "foo"}, nil, nil) r, err = ToString(b) diff --git a/go/vm/opcodes.go b/go/vm/opcodes.go @@ -17,8 +17,8 @@ const ( INCMP = 8 MSIZE = 9 MOUT = 10 - MNEXT = 11 - MPREV = 12 + //MNEXT = 11 + //MPREV = 12 _MAX = 12 ) @@ -35,8 +35,8 @@ var ( INCMP: "INCMP", MSIZE: "MSIZE", MOUT: "MOUT", - MNEXT: "MNEXT", - MPREV: "MPREV", + //MNEXT: "MNEXT", + //MPREV: "MPREV", } OpcodeIndex = map[string]Opcode { @@ -51,8 +51,8 @@ var ( "INCMP": INCMP, "MSIZE": MSIZE, "MOUT": MOUT, - "MNEXT": MNEXT, - "MPREV": MPREV, + //"MNEXT": MNEXT, + //"MPREV": MPREV, } ) diff --git a/go/vm/runner.go b/go/vm/runner.go @@ -44,10 +44,10 @@ func Run(b []byte, st *state.State, rs resource.Resource, ctx context.Context) ( b, err = RunMSize(b, st, rs, ctx) case MOUT: b, err = RunMOut(b, st, rs, ctx) - case MNEXT: - b, err = RunMNext(b, st, rs, ctx) - case MPREV: - b, err = RunMPrev(b, st, rs, ctx) +// case MNEXT: +// b, err = RunMNext(b, st, rs, ctx) +// case MPREV: +// b, err = RunMPrev(b, st, rs, ctx) case HALT: b, err = RunHalt(b, st, rs, ctx) return b, err @@ -257,25 +257,25 @@ func RunMOut(b []byte, st *state.State, rs resource.Resource, ctx context.Contex return b, err } -// RunMNext executes the MNEXT opcode -func RunMNext(b []byte, st *state.State, rs resource.Resource, ctx context.Context) ([]byte, error) { - selector, display, b, err := ParseMNext(b) - if err != nil { - return b, err - } - err = rs.SetMenuBrowse(selector, display, false) - return b, err -} - -// RunMPrev executes the MPREV opcode -func RunMPrev(b []byte, st *state.State, rs resource.Resource, ctx context.Context) ([]byte, error) { - selector, display, b, err := ParseMPrev(b) - if err != nil { - return b, err - } - err = rs.SetMenuBrowse(selector, display, false) - return b, err -} +//// RunMNext executes the MNEXT opcode +//func RunMNext(b []byte, st *state.State, rs resource.Resource, ctx context.Context) ([]byte, error) { +// selector, display, b, err := ParseMNext(b) +// if err != nil { +// return b, err +// } +// err = rs.SetMenuBrowse(selector, display, false) +// return b, err +//} +// +//// RunMPrev executes the MPREV opcode +//func RunMPrev(b []byte, st *state.State, rs resource.Resource, ctx context.Context) ([]byte, error) { +// selector, display, b, err := ParseMPrev(b) +// if err != nil { +// return b, err +// } +// err = rs.SetMenuBrowse(selector, display, false) +// return b, err +//} // retrieve data for key func refresh(key string, rs resource.Resource, ctx context.Context) (string, error) { diff --git a/go/vm/vm.go b/go/vm/vm.go @@ -75,15 +75,15 @@ func ParseInCmp(b []byte) (string, string, []byte, error) { return parseTwoSym(b) } -// ParseMPrev parses and extracts the expected argument portion of a MPREV instruction -func ParseMPrev(b []byte) (string, string, []byte, error) { - return parseTwoSym(b) -} - -// ParseMNext parses and extracts the expected argument portion of a MNEXT instruction -func ParseMNext(b []byte) (string, string, []byte, error) { - return parseTwoSym(b) -} +//// ParseMPrev parses and extracts the expected argument portion of a MPREV instruction +//func ParseMPrev(b []byte) (string, string, []byte, error) { +// return parseTwoSym(b) +//} +// +//// ParseMNext parses and extracts the expected argument portion of a MNEXT instruction +//func ParseMNext(b []byte) (string, string, []byte, error) { +// return parseTwoSym(b) +//} // ParseMSize parses and extracts the expected argument portion of a MSIZE instruction func ParseMSize(b []byte) (uint32, uint32, []byte, error) {