JavaScripts interactive shell build

https://developer.mozilla.org/ja/Introduction_to_the_JavaScript_shell

fc9 [0] /root # cat hoge.js
function test() {
    var i = 3;
      print(i+2);
}

fc9 [0] /root # js -f hoge.js -f -
js> test
function test() {
    var i = 3;
    print(i + 2);
}
js> dis(test)
main:
00000:  int8 3
00002:  setvar 0
00005:  pop
00006:  callname "print"
00009:  getvar 0
00012:  int8 2
00014:  add
00015:  call 1
00018:  pop
00019:  stop

Source notes:
  0:     0 [   0] newline
  1:     2 [   2] decl     offset 0
  3:     6 [   4] newline
  4:    15 [   9] xdelta
  5:    15 [   0] pcbase   offset 9
js> dissrc(test)
;-------------------------   2:     var i = 3;
00000:   2  int8 3
00002:   2  setvar 0
00005:   2  pop
;-------------------------   3:       print(i+2);
00006:   3  callname "print"
00009:   3  getvar 0
00012:   3  int8 2
00014:   3  add
00015:   3  call 1
00018:   3  pop
00019:   3  stop
js>

fc9 [0] /root #