示例#1
0
def lua_main(proto):
    vm = LuaState(proto)
    vm.set_top(proto.get_max_stack_size())
    while True:
        pc = vm.get_pc()
        i = vm.fetch()
        inst = Instruction(i)
        if inst.op_code() != OpCode.RETURN:
            inst.execute(vm)
            print('[%02d] %-8s ' % (pc + 1, inst.op_name()), end='')
            vm.print_stack()
        else:
            break
示例#2
0
def main():
    ls = LuaState(None)

    ls.push_boolean(True)
    ls.print_stack()
    ls.push_integer(10)
    ls.print_stack()
    ls.push_nil()
    ls.print_stack()
    ls.push_string('hello')
    ls.print_stack()
    ls.push_value(-4)
    ls.print_stack()
    ls.replace(3)
    ls.print_stack()
    ls.set_top(6)
    ls.print_stack()
    ls.remove(-3)
    ls.print_stack()
    ls.set_top(-5)
    ls.print_stack()