hebi 0.4.0

A dynamic scripting language
Documentation
---
source: src/internal/codegen/tests.rs
expression: snapshot
---
# Input:
fn a():
  v := 0
  fn b():
    print v
  return b

a()()


# Func:
function `b` (registers: 1, length: 5, constants: 0)
.upvalues
  0 <- r1
.code
  0 | load_upvalue ^0
  2 | print
  3 | load_none
  4 | return


function `a` (registers: 3, length: 13, constants: 1)
.code
  0  | load_smi 0
  2  | store r1
  4  | make_fn [0]; <function `b` descriptor>
  6  | store r2
  8  | load r2
  10 | return
  11 | load_none
  12 | return


function `main` (registers: 1, length: 9, constants: 2)
.code
  0 | make_fn [0]; <function `a` descriptor>
  2 | store_global [1]; a
  4 | load_global [1]; a
  6 | call0
  7 | call0
  8 | return