hebi 0.4.0

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


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


function `c` (registers: 2, length: 6, constants: 1)
.upvalues
  0 <- ^0
.code
  0 | make_fn [0]; <function `d` descriptor>
  2 | store r1
  4 | load_none
  5 | return


function `b` (registers: 2, length: 6, constants: 1)
.upvalues
  0 <- r1
.code
  0 | make_fn [0]; <function `c` descriptor>
  2 | store r1
  4 | load_none
  5 | return


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


function `main` (registers: 1, length: 5, constants: 2)
.code
  0 | make_fn [0]; <function `a` descriptor>
  2 | store_global [1]; a
  4 | return