- name: Empty_Statement
  code: ''
  tokens: []
- name: Integer Default Decimal 0
  code: '0'
  tokens:
  - type: i64
    value: 0
  operations:
  - function: push
    type: i64
    value: 0
  stack_final:
  - type: i64
    value: 0
- name: Integer Default Decimal -1
  code: '-1'
  tokens:
  - type: i64
    value: -1
  operations:
  - function: push
    type: i64
    value: -1
  stack_final:
  - type: i64
    value: -1
- name: Integer Default Decimal 42
  code: '42'
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer Default Decimal Leading Zeros
  code: '00042'
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer Default Hex 0xFF
  code: '0xFF'
  tokens:
  - type: i64
    value: 255
  operations:
  - function: push
    type: i64
    value: 255
  stack_final:
  - type: i64
    value: 255
- name: Integer Default Hex 0xdeadbeef
  code: '0xdeadbeef'
  tokens:
  - type: i64
    value: 3735928559
  operations:
  - function: push
    type: i64
    value: 3735928559
  stack_final:
  - type: i64
    value: 3735928559
- name: Integer Default Hex Max
  code: '0x7FFFFFFFFFFFFFFF'
  tokens:
  - type: i64
    value: 9223372036854775807
  operations:
  - function: push
    type: i64
    value: 9223372036854775807
  stack_final:
  - type: i64
    value: 9223372036854775807
- name: Integer Default Binary 0b1010
  code: '0b1010'
  tokens:
  - type: i64
    value: 10
  operations:
  - function: push
    type: i64
    value: 10
  stack_final:
  - type: i64
    value: 10
- name: Integer Default Binary All Ones
  code: '0b1111111111111111'
  tokens:
  - type: i64
    value: 65535
  operations:
  - function: push
    type: i64
    value: 65535
  stack_final:
  - type: i64
    value: 65535
- name: Integer Default Octal 0o755
  code: 0o755
  tokens:
  - type: i64
    value: 493
  operations:
  - function: push
    type: i64
    value: 493
  stack_final:
  - type: i64
    value: 493
- name: Integer Default Octal Max Three Digits
  code: 0o777
  tokens:
  - type: i64
    value: 511
  operations:
  - function: push
    type: i64
    value: 511
  stack_final:
  - type: i64
    value: 511
- name: Integer Default Decimal Max i64
  code: '9223372036854775807'
  tokens:
  - type: i64
    value: 9223372036854775807
  operations:
  - function: push
    type: i64
    value: 9223372036854775807
  stack_final:
  - type: i64
    value: 9223372036854775807
- name: Integer Default Decimal Min i64
  code: '-9223372036854775808'
  tokens:
  - type: i64
    value: INT64_MIN
  operations:
  - function: push
    type: i64
    value: INT64_MIN
  stack_final:
  - type: i64
    value: INT64_MIN
- name: Integer Default Decimal with Underscore
  code: '1_000_000'
  tokens:
  - type: i64
    value: 1000000
  operations:
  - function: push
    type: i64
    value: 1000000
  stack_final:
  - type: i64
    value: 1000000
- name: Integer Default Underscore End
  code: '42_'
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer Default Underscore Double
  code: '4__2'
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer Default Whitespace
  code: '  42  '
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer Default Hex Zero
  code: '0x0'
  tokens:
  - type: i64
    value: 0
  operations:
  - function: push
    type: i64
    value: 0
  stack_final:
  - type: i64
    value: 0
- name: Integer Default Binary Zero
  code: '0b0'
  tokens:
  - type: i64
    value: 0
  operations:
  - function: push
    type: i64
    value: 0
  stack_final:
  - type: i64
    value: 0
- name: Integer Default Octal Zero
  code: 0o0
  tokens:
  - type: i64
    value: 0
  operations:
  - function: push
    type: i64
    value: 0
  stack_final:
  - type: i64
    value: 0
- name: Integer Default Decimal with Commas Invalid
  code: 1,000,000
  tokens:
  - type: error
    value: 'Invalid decimal literal: unexpected '','' in decimal integer.'
- name: Integer Default Invalid Characters
  code: 12a3
  tokens:
  - type: error
    value: 'Invalid decimal literal: unexpected ''a'' in decimal integer.'
- name: Integer Default Invalid Prefix
  code: 0b2
  tokens:
  - type: error
    value: 'Invalid binary literal: unexpected ''2'' in binary integer.'
- name: Integer i8 Decimal Positive
  code: 42:i8
  tokens:
  - type: i8
    value: 42
  operations:
  - function: push
    type: i8
    value: 42
  stack_final:
  - type: i8
    value: 42
- name: Integer i8 Zero
  code: 0:i8
  tokens:
  - type: i8
    value: 0
  operations:
  - function: push
    type: i8
    value: 0
  stack_final:
  - type: i8
    value: 0
- name: Integer i8 Decimal Negative
  code: -100:i8
  tokens:
  - type: i8
    value: -100
  operations:
  - function: push
    type: i8
    value: -100
  stack_final:
  - type: i8
    value: -100
- name: Integer i8 Hex
  code: 0x7F:i8
  tokens:
  - type: i8
    value: 127
  operations:
  - function: push
    type: i8
    value: 127
  stack_final:
  - type: i8
    value: 127
- name: Integer i8 Binary
  code: 0b1111:i8
  tokens:
  - type: i8
    value: 15
  operations:
  - function: push
    type: i8
    value: 15
  stack_final:
  - type: i8
    value: 15
- name: Integer i8 Octal
  code: 0o77:i8
  tokens:
  - type: i8
    value: 63
  operations:
  - function: push
    type: i8
    value: 63
  stack_final:
  - type: i8
    value: 63
- name: Integer i8 Max Value
  code: 127:i8
  tokens:
  - type: i8
    value: 127
  operations:
  - function: push
    type: i8
    value: 127
  stack_final:
  - type: i8
    value: 127
- name: Integer i8 Min Value
  code: -128:i8
  tokens:
  - type: i8
    value: -128
  operations:
  - function: push
    type: i8
    value: -128
  stack_final:
  - type: i8
    value: -128
- name: Integer i8 Overflow
  code: 128:i8
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i8.'
- name: Integer i8 Underflow
  code: -129:i8
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i8.'
- name: Integer i16 Decimal Positive
  code: 42:i16
  tokens:
  - type: i16
    value: 42
  operations:
  - function: push
    type: i16
    value: 42
  stack_final:
  - type: i16
    value: 42
- name: Integer i16 Zero
  code: 0:i16
  tokens:
  - type: i16
    value: 0
  operations:
  - function: push
    type: i16
    value: 0
  stack_final:
  - type: i16
    value: 0
- name: Integer i16 Decimal Negative
  code: -100:i16
  tokens:
  - type: i16
    value: -100
  operations:
  - function: push
    type: i16
    value: -100
  stack_final:
  - type: i16
    value: -100
- name: Integer i16 Hex
  code: 0xFF:i16
  tokens:
  - type: i16
    value: 255
  operations:
  - function: push
    type: i16
    value: 255
  stack_final:
  - type: i16
    value: 255
- name: Integer i16 Binary
  code: 0b1111:i16
  tokens:
  - type: i16
    value: 15
  operations:
  - function: push
    type: i16
    value: 15
  stack_final:
  - type: i16
    value: 15
- name: Integer i16 Octal
  code: 0o77:i16
  tokens:
  - type: i16
    value: 63
  operations:
  - function: push
    type: i16
    value: 63
  stack_final:
  - type: i16
    value: 63
- name: Integer i16 Max Value
  code: 32767:i16
  tokens:
  - type: i16
    value: 32767
  operations:
  - function: push
    type: i16
    value: 32767
  stack_final:
  - type: i16
    value: 32767
- name: Integer i16 Min Value
  code: -32768:i16
  tokens:
  - type: i16
    value: -32768
  operations:
  - function: push
    type: i16
    value: -32768
  stack_final:
  - type: i16
    value: -32768
- name: Integer i16 Overflow
  code: 32768:i16
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i16.'
- name: Integer i16 Underflow
  code: -32769:i16
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i16.'
- name: Integer i32 Decimal Positive
  code: 42:i32
  tokens:
  - type: i32
    value: 42
  operations:
  - function: push
    type: i32
    value: 42
  stack_final:
  - type: i32
    value: 42
- name: Integer i32 Zero
  code: 0:i32
  tokens:
  - type: i32
    value: 0
  operations:
  - function: push
    type: i32
    value: 0
  stack_final:
  - type: i32
    value: 0
- name: Integer i32 Decimal Negative
  code: -100:i32
  tokens:
  - type: i32
    value: -100
  operations:
  - function: push
    type: i32
    value: -100
  stack_final:
  - type: i32
    value: -100
- name: Integer i32 Hex
  code: 0xFF:i32
  tokens:
  - type: i32
    value: 255
  operations:
  - function: push
    type: i32
    value: 255
  stack_final:
  - type: i32
    value: 255
- name: Integer i32 Binary
  code: 0b1111:i32
  tokens:
  - type: i32
    value: 15
  operations:
  - function: push
    type: i32
    value: 15
  stack_final:
  - type: i32
    value: 15
- name: Integer i32 Octal
  code: 0o77:i32
  tokens:
  - type: i32
    value: 63
  operations:
  - function: push
    type: i32
    value: 63
  stack_final:
  - type: i32
    value: 63
- name: Integer i32 Max Value
  code: 2147483647:i32
  tokens:
  - type: i32
    value: 2147483647
  operations:
  - function: push
    type: i32
    value: 2147483647
  stack_final:
  - type: i32
    value: 2147483647
- name: Integer i32 Min Value
  code: -2147483648:i32
  tokens:
  - type: i32
    value: -2147483648
  operations:
  - function: push
    type: i32
    value: -2147483648
  stack_final:
  - type: i32
    value: -2147483648
- name: Integer i32 Overflow
  code: 2147483648:i32
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i32.'
- name: Integer i32 Underflow
  code: -2147483649:i32
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i32.'
- name: Integer i32 With Underscores
  code: 1_000_000:i32
  tokens:
  - type: i32
    value: 1000000
  operations:
  - function: push
    type: i32
    value: 1000000
  stack_final:
  - type: i32
    value: 1000000
- name: Integer i64 Decimal Positive
  code: 42:i64
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer i64 Zero
  code: 0:i64
  tokens:
  - type: i64
    value: 0
  operations:
  - function: push
    type: i64
    value: 0
  stack_final:
  - type: i64
    value: 0
- name: Integer i64 Decimal Negative
  code: -100:i64
  tokens:
  - type: i64
    value: -100
  operations:
  - function: push
    type: i64
    value: -100
  stack_final:
  - type: i64
    value: -100
- name: Integer i64 Hex
  code: 0xFF:i64
  tokens:
  - type: i64
    value: 255
  operations:
  - function: push
    type: i64
    value: 255
  stack_final:
  - type: i64
    value: 255
- name: Integer i64 Binary
  code: 0b1111:i64
  tokens:
  - type: i64
    value: 15
  operations:
  - function: push
    type: i64
    value: 15
  stack_final:
  - type: i64
    value: 15
- name: Integer i64 Octal
  code: 0o77:i64
  tokens:
  - type: i64
    value: 63
  operations:
  - function: push
    type: i64
    value: 63
  stack_final:
  - type: i64
    value: 63
- name: Integer i64 Max Value
  code: 9223372036854775807:i64
  tokens:
  - type: i64
    value: 9223372036854775807
  operations:
  - function: push
    type: i64
    value: 9223372036854775807
  stack_final:
  - type: i64
    value: 9223372036854775807
- name: Integer i64 Min Value
  code: -9223372036854775808:i64
  tokens:
  - type: i64
    value: INT64_MIN
  operations:
  - function: push
    type: i64
    value: INT64_MIN
  stack_final:
  - type: i64
    value: INT64_MIN
- name: Integer i64 Overflow
  code: 9223372036854775808:i64
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i64.'
- name: Integer i64 Underflow
  code: -9223372036854775809:i64
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for i64.'
- name: Integer i64 With Underscores
  code: 1_000_000:i64
  tokens:
  - type: i64
    value: 1000000
  operations:
  - function: push
    type: i64
    value: 1000000
  stack_final:
  - type: i64
    value: 1000000
- name: Integer u8 Decimal Positive
  code: 42:u8
  tokens:
  - type: u8
    value: 42
  operations:
  - function: push
    type: u8
    value: 42
  stack_final:
  - type: u8
    value: 42
- name: Integer u8 Zero
  code: 0:u8
  tokens:
  - type: u8
    value: 0
  operations:
  - function: push
    type: u8
    value: 0
  stack_final:
  - type: u8
    value: 0
- name: Integer u8 Hex
  code: 0xFF:u8
  tokens:
  - type: u8
    value: 255
  operations:
  - function: push
    type: u8
    value: 255
  stack_final:
  - type: u8
    value: 255
- name: Integer u8 Binary
  code: 0b1111:u8
  tokens:
  - type: u8
    value: 15
  operations:
  - function: push
    type: u8
    value: 15
  stack_final:
  - type: u8
    value: 15
- name: Integer u8 Octal
  code: 0o77:u8
  tokens:
  - type: u8
    value: 63
  operations:
  - function: push
    type: u8
    value: 63
  stack_final:
  - type: u8
    value: 63
- name: Integer u8 Max Value
  code: 255:u8
  tokens:
  - type: u8
    value: 255
  operations:
  - function: push
    type: u8
    value: 255
  stack_final:
  - type: u8
    value: 255
- name: Integer u8 Min Value
  code: 0:u8
  tokens:
  - type: u8
    value: 0
  operations:
  - function: push
    type: u8
    value: 0
  stack_final:
  - type: u8
    value: 0
- name: Integer u8 Overflow
  code: 256:u8
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u8.'
- name: Integer u8 Underflow
  code: -1:u8
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u8.'
- name: Integer u16 Decimal Positive
  code: 42:u16
  tokens:
  - type: u16
    value: 42
  operations:
  - function: push
    type: u16
    value: 42
  stack_final:
  - type: u16
    value: 42
- name: Integer u16 Zero
  code: 0:u16
  tokens:
  - type: u16
    value: 0
  operations:
  - function: push
    type: u16
    value: 0
  stack_final:
  - type: u16
    value: 0
- name: Integer u16 Hex
  code: 0xFF:u16
  tokens:
  - type: u16
    value: 255
  operations:
  - function: push
    type: u16
    value: 255
  stack_final:
  - type: u16
    value: 255
- name: Integer u16 Binary
  code: 0b1111:u16
  tokens:
  - type: u16
    value: 15
  operations:
  - function: push
    type: u16
    value: 15
  stack_final:
  - type: u16
    value: 15
- name: Integer u16 Octal
  code: 0o77:u16
  tokens:
  - type: u16
    value: 63
  operations:
  - function: push
    type: u16
    value: 63
  stack_final:
  - type: u16
    value: 63
- name: Integer u16 Max Value
  code: 65535:u16
  tokens:
  - type: u16
    value: 65535
  operations:
  - function: push
    type: u16
    value: 65535
  stack_final:
  - type: u16
    value: 65535
- name: Integer u16 Min Value
  code: 0:u16
  tokens:
  - type: u16
    value: 0
  operations:
  - function: push
    type: u16
    value: 0
  stack_final:
  - type: u16
    value: 0
- name: Integer u16 Overflow
  code: 65536:u16
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u16.'
- name: Integer u16 Underflow
  code: -1:u16
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u16.'
- name: Integer u32 Decimal Positive
  code: 42:u32
  tokens:
  - type: u32
    value: 42
  operations:
  - function: push
    type: u32
    value: 42
  stack_final:
  - type: u32
    value: 42
- name: Integer u32 Zero
  code: 0:u32
  tokens:
  - type: u32
    value: 0
  operations:
  - function: push
    type: u32
    value: 0
  stack_final:
  - type: u32
    value: 0
- name: Integer u32 Hex
  code: 0xFF:u32
  tokens:
  - type: u32
    value: 255
  operations:
  - function: push
    type: u32
    value: 255
  stack_final:
  - type: u32
    value: 255
- name: Integer u32 Binary
  code: 0b1111:u32
  tokens:
  - type: u32
    value: 15
  operations:
  - function: push
    type: u32
    value: 15
  stack_final:
  - type: u32
    value: 15
- name: Integer u32 Octal
  code: 0o77:u32
  tokens:
  - type: u32
    value: 63
  operations:
  - function: push
    type: u32
    value: 63
  stack_final:
  - type: u32
    value: 63
- name: Integer u32 Max Value
  code: 4294967295:u32
  tokens:
  - type: u32
    value: 4294967295
  operations:
  - function: push
    type: u32
    value: 4294967295
  stack_final:
  - type: u32
    value: 4294967295
- name: Integer u32 Min Value
  code: 0:u32
  tokens:
  - type: u32
    value: 0
  operations:
  - function: push
    type: u32
    value: 0
  stack_final:
  - type: u32
    value: 0
- name: Integer u32 Overflow
  code: 4294967296:u32
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u32.'
- name: Integer u32 Underflow
  code: -1:u32
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u32.'
- name: Integer u32 With Underscores
  code: 1_000_000:u32
  tokens:
  - type: u32
    value: 1000000
  operations:
  - function: push
    type: u32
    value: 1000000
  stack_final:
  - type: u32
    value: 1000000
- name: Integer u64 Decimal Positive
  code: 42:u64
  tokens:
  - type: u64
    value: 42
  operations:
  - function: push
    type: u64
    value: 42
  stack_final:
  - type: u64
    value: 42
- name: Integer u64 Zero
  code: 0:u64
  tokens:
  - type: u64
    value: 0
  operations:
  - function: push
    type: u64
    value: 0
  stack_final:
  - type: u64
    value: 0
- name: Integer u64 Hex
  code: 0xFF:u64
  tokens:
  - type: u64
    value: 255
  operations:
  - function: push
    type: u64
    value: 255
  stack_final:
  - type: u64
    value: 255
- name: Integer u64 Binary
  code: 0b1111:u64
  tokens:
  - type: u64
    value: 15
  operations:
  - function: push
    type: u64
    value: 15
  stack_final:
  - type: u64
    value: 15
- name: Integer u64 Octal
  code: 0o77:u64
  tokens:
  - type: u64
    value: 63
  operations:
  - function: push
    type: u64
    value: 63
  stack_final:
  - type: u64
    value: 63
- name: Integer u64 Max Value
  code: 18446744073709551615:u64
  tokens:
  - type: u64
    value: UINT64_MAX
  operations:
  - function: push
    type: u64
    value: UINT64_MAX
  stack_final:
  - type: u64
    value: UINT64_MAX
- name: Integer u64 Min Value
  code: 0:u64
  tokens:
  - type: u64
    value: 0
  operations:
  - function: push
    type: u64
    value: 0
  stack_final:
  - type: u64
    value: 0
- name: Integer u64 Overflow
  code: 18446744073709551616:u64
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u64.'
- name: Integer u64 Underflow
  code: -1:u64
  tokens:
  - type: error
    value: 'Integer overflow: value exceeds range for u64.'
- name: Integer u64 With Underscores
  code: 1_000_000:u64
  tokens:
  - type: u64
    value: 1000000
  operations:
  - function: push
    type: u64
    value: 1000000
  stack_final:
  - type: u64
    value: 1000000
- name: Integer i8 Hex Max
  code: 0x7F:i8
  tokens:
  - type: i8
    value: 127
  operations:
  - function: push
    type: i8
    value: 127
  stack_final:
  - type: i8
    value: 127
- name: Integer i8 Binary Max
  code: 0b01111111:i8
  tokens:
  - type: i8
    value: 127
  operations:
  - function: push
    type: i8
    value: 127
  stack_final:
  - type: i8
    value: 127
- name: Integer i8 Octal Max
  code: 0o177:i8
  tokens:
  - type: i8
    value: 127
  operations:
  - function: push
    type: i8
    value: 127
  stack_final:
  - type: i8
    value: 127
- name: Integer i8 Negative Hex
  code: -0x80:i8
  tokens:
  - type: i8
    value: -128
  operations:
  - function: push
    type: i8
    value: -128
  stack_final:
  - type: i8
    value: -128
- name: Integer u8 Hex Max
  code: 0xFF:u8
  tokens:
  - type: u8
    value: 255
  operations:
  - function: push
    type: u8
    value: 255
  stack_final:
  - type: u8
    value: 255
- name: Integer u8 Binary Max
  code: 0b11111111:u8
  tokens:
  - type: u8
    value: 255
  operations:
  - function: push
    type: u8
    value: 255
  stack_final:
  - type: u8
    value: 255
- name: Integer u8 Octal Max
  code: 0o377:u8
  tokens:
  - type: u8
    value: 255
  operations:
  - function: push
    type: u8
    value: 255
  stack_final:
  - type: u8
    value: 255
- name: Integer i16 Hex Sample
  code: 0x1234:i16
  tokens:
  - type: i16
    value: 4660
  operations:
  - function: push
    type: i16
    value: 4660
  stack_final:
  - type: i16
    value: 4660
- name: Integer i16 Binary Sample
  code: 0b1111111100000000:i16
  tokens:
  - type: i16
    value: -256
  operations:
  - function: push
    type: i16
    value: -256
  stack_final:
  - type: i16
    value: -256
- name: Integer i16 Octal Sample
  code: 0o1234:i16
  tokens:
  - type: i16
    value: 668
  operations:
  - function: push
    type: i16
    value: 668
  stack_final:
  - type: i16
    value: 668
- name: Integer u16 Hex Max
  code: 0xFFFF:u16
  tokens:
  - type: u16
    value: 65535
  operations:
  - function: push
    type: u16
    value: 65535
  stack_final:
  - type: u16
    value: 65535
- name: Integer u16 Binary Max
  code: 0b1111111111111111:u16
  tokens:
  - type: u16
    value: 65535
  operations:
  - function: push
    type: u16
    value: 65535
  stack_final:
  - type: u16
    value: 65535
- name: Integer u16 Octal Max
  code: 0o177777:u16
  tokens:
  - type: u16
    value: 65535
  operations:
  - function: push
    type: u16
    value: 65535
  stack_final:
  - type: u16
    value: 65535
- name: Integer u16 Decimal Mid
  code: 50000:u16
  tokens:
  - type: u16
    value: 50000
  operations:
  - function: push
    type: u16
    value: 50000
  stack_final:
  - type: u16
    value: 50000
- name: Integer i32 Hex Sample
  code: 0xABCD:i32
  tokens:
  - type: i32
    value: 43981
  operations:
  - function: push
    type: i32
    value: 43981
  stack_final:
  - type: i32
    value: 43981
- name: Integer i32 Binary Sample
  code: 0b11110000:i32
  tokens:
  - type: i32
    value: 240
  operations:
  - function: push
    type: i32
    value: 240
  stack_final:
  - type: i32
    value: 240
- name: Integer u32 Hex Max
  code: 0xFFFFFFFF:u32
  tokens:
  - type: u32
    value: 4294967295
  operations:
  - function: push
    type: u32
    value: 4294967295
  stack_final:
  - type: u32
    value: 4294967295
- name: Integer u32 Binary Sample
  code: 0b11111111000000001111111100000000:u32
  tokens:
  - type: u32
    value: 4278255360
  operations:
  - function: push
    type: u32
    value: 4278255360
  stack_final:
  - type: u32
    value: 4278255360
- name: Integer u32 Octal Max
  code: 0o37777777777:u32
  tokens:
  - type: u32
    value: 4294967295
  operations:
  - function: push
    type: u32
    value: 4294967295
  stack_final:
  - type: u32
    value: 4294967295
- name: Integer u32 Decimal Mid
  code: 1000000:u32
  tokens:
  - type: u32
    value: 1000000
  operations:
  - function: push
    type: u32
    value: 1000000
  stack_final:
  - type: u32
    value: 1000000
- name: Integer i64 Decimal Positive 42
  code: 42:i64
  tokens:
  - type: i64
    value: 42
  operations:
  - function: push
    type: i64
    value: 42
  stack_final:
  - type: i64
    value: 42
- name: Integer i64 Hex 0xFF
  code: 0xFF:i64
  tokens:
  - type: i64
    value: 255
  operations:
  - function: push
    type: i64
    value: 255
  stack_final:
  - type: i64
    value: 255
- name: Integer i64 Binary 0b1010
  code: 0b1010:i64
  tokens:
  - type: i64
    value: 10
  operations:
  - function: push
    type: i64
    value: 10
  stack_final:
  - type: i64
    value: 10
- name: Integer i64 Octal 0o755
  code: 0o755:i64
  tokens:
  - type: i64
    value: 493
  operations:
  - function: push
    type: i64
    value: 493
  stack_final:
  - type: i64
    value: 493
- name: Integer u64 Hex Max
  code: 0xFFFFFFFFFFFFFFFF:u64
  tokens:
  - type: u64
    value: UINT64_MAX
  operations:
  - function: push
    type: u64
    value: UINT64_MAX
  stack_final:
  - type: u64
    value: UINT64_MAX
- name: Integer u64 Binary Sample
  code: 0b1010101010101010:u64
  tokens:
  - type: u64
    value: 43690
  operations:
  - function: push
    type: u64
    value: 43690
  stack_final:
  - type: u64
    value: 43690
- name: Integer u64 Octal Sample
  code: 0o7777:u64
  tokens:
  - type: u64
    value: 4095
  operations:
  - function: push
    type: u64
    value: 4095
  stack_final:
  - type: u64
    value: 4095
- name: Integer u64 Decimal
  code: 42:u64
  tokens:
  - type: u64
    value: 42
  operations:
  - function: push
    type: u64
    value: 42
  stack_final:
  - type: u64
    value: 42
- name: Integer Hex With Underscores
  code: 0xDEAD_BEEF:i64
  tokens:
  - type: i64
    value: 3735928559
  operations:
  - function: push
    type: i64
    value: 3735928559
  stack_final:
  - type: i64
    value: 3735928559
- name: Integer Binary With Underscores
  code: 0b1111_0000_1010_0101:i32
  tokens:
  - type: i32
    value: 61605
  operations:
  - function: push
    type: i32
    value: 61605
  stack_final:
  - type: i32
    value: 61605
- name: Integer Octal With Underscores
  code: 0o7_7_7:i16
  tokens:
  - type: i16
    value: 511
  operations:
  - function: push
    type: i16
    value: 511
  stack_final:
  - type: i16
    value: 511
- name: Float Default Simple
  code: '3.14'
  tokens:
  - type: f64
    value: 3.14
  operations:
  - function: push
    type: f64
    value: 3.14
  stack_final:
  - type: f64
    value: 3.14
- name: Float Default Zero
  code: '0.0'
  tokens:
  - type: f64
    value: 0.0
  operations:
  - function: push
    type: f64
    value: 0.0
  stack_final:
  - type: f64
    value: 0.0
- name: Float Default Negative
  code: '-2.5'
  tokens:
  - type: f64
    value: -2.5
  operations:
  - function: push
    type: f64
    value: -2.5
  stack_final:
  - type: f64
    value: -2.5
- name: Float Default One
  code: '1.0'
  tokens:
  - type: f64
    value: 1.0
  operations:
  - function: push
    type: f64
    value: 1.0
  stack_final:
  - type: f64
    value: 1.0
- name: Float f32 Simple
  code: 3.14:f32
  tokens:
  - type: f32
    value: 3.14
  operations:
  - function: push
    type: f32
    value: 3.14
  stack_final:
  - type: f32
    value: 3.14
- name: Float f64 Simple
  code: 2.718:f64
  tokens:
  - type: f64
    value: 2.718
  operations:
  - function: push
    type: f64
    value: 2.718
  stack_final:
  - type: f64
    value: 2.718
- name: Float Default Leading Zeros
  code: '00042.5'
  tokens:
  - type: f64
    value: 42.5
  operations:
  - function: push
    type: f64
    value: 42.5
  stack_final:
  - type: f64
    value: 42.5
- name: Float Default Leading Zero Decimal
  code: '0.5'
  tokens:
  - type: f64
    value: 0.5
  operations:
  - function: push
    type: f64
    value: 0.5
  stack_final:
  - type: f64
    value: 0.5
- name: Float Default Trailing Zeros
  code: '3.1400'
  tokens:
  - type: f64
    value: 3.14
  operations:
  - function: push
    type: f64
    value: 3.14
  stack_final:
  - type: f64
    value: 3.14
- name: Float Default No Leading Digit
  code: '.5'
  tokens:
  - type: f64
    value: 0.5
  operations:
  - function: push
    type: f64
    value: 0.5
  stack_final:
  - type: f64
    value: 0.5
- name: Float Default No Leading Digit Negative
  code: -.25
  tokens:
  - type: f64
    value: -0.25
  operations:
  - function: push
    type: f64
    value: -0.25
  stack_final:
  - type: f64
    value: -0.25
- name: Float Default No Trailing Digits
  code: '42.'
  tokens:
  - type: f64
    value: 42.0
  operations:
  - function: push
    type: f64
    value: 42.0
  stack_final:
  - type: f64
    value: 42.0
- name: Float Default No Trailing Digits Negative
  code: '-7.'
  tokens:
  - type: f64
    value: -7.0
  operations:
  - function: push
    type: f64
    value: -7.0
  stack_final:
  - type: f64
    value: -7.0
- name: Float Default Very Small
  code: '0.000001'
  tokens:
  - type: f64
    value: 1.0e-06
  operations:
  - function: push
    type: f64
    value: 1.0e-06
  stack_final:
  - type: f64
    value: 1.0e-06
- name: Float Default Very Large
  code: '1000000.0'
  tokens:
  - type: f64
    value: 1000000.0
  operations:
  - function: push
    type: f64
    value: 1000000.0
  stack_final:
  - type: f64
    value: 1000000.0
- name: Float Default Underscore Integer Part
  code: '1_000_000.5'
  tokens:
  - type: f64
    value: 1000000.5
  operations:
  - function: push
    type: f64
    value: 1000000.5
  stack_final:
  - type: f64
    value: 1000000.5
- name: Float Default Underscore Decimal Part
  code: '3.141_592_653'
  tokens:
  - type: f64
    value: 3.141592653
  operations:
  - function: push
    type: f64
    value: 3.141592653
  stack_final:
  - type: f64
    value: 3.141592653
- name: Float Default Underscore Both Parts
  code: '1_234.567_89'
  tokens:
  - type: f64
    value: 1234.56789
  operations:
  - function: push
    type: f64
    value: 1234.56789
  stack_final:
  - type: f64
    value: 1234.56789
- name: Float Default Underscore Trailing
  code: '42.5_'
  tokens:
  - type: f64
    value: 42.5
  operations:
  - function: push
    type: f64
    value: 42.5
  stack_final:
  - type: f64
    value: 42.5
- name: Float Default Underscore Double
  code: '4__2.5'
  tokens:
  - type: f64
    value: 42.5
  operations:
  - function: push
    type: f64
    value: 42.5
  stack_final:
  - type: f64
    value: 42.5
- name: Float f32 With Underscores
  code: 1_234.567_89:f32
  tokens:
  - type: f32
    value: 1234.56789
  operations:
  - function: push
    type: f32
    value: 1234.56789
  stack_final:
  - type: f32
    value: 1234.56789
- name: Float f32 Precision Limit
  code: 1.2345678:f32
  tokens:
  - type: f32
    value: 1.2345678
  operations:
  - function: push
    type: f32
    value: 1.2345678
  stack_final:
  - type: f32
    value: 1.2345678
- name: Float f32 High Precision
  code: 3.141592653589793:f32
  tokens:
  - type: f32
    value: 3.141592653589793
  operations:
  - function: push
    type: f32
    value: 3.141592653589793
  stack_final:
  - type: f32
    value: 3.141592653589793
- name: Float f64 Precision Limit
  code: 1.234567890123456:f64
  tokens:
  - type: f64
    value: 1.234567890123456
  operations:
  - function: push
    type: f64
    value: 1.234567890123456
  stack_final:
  - type: f64
    value: 1.234567890123456
- name: Float f64 High Precision
  code: 3.141592653589793238:f64
  tokens:
  - type: f64
    value: 3.141592653589793
  operations:
  - function: push
    type: f64
    value: 3.141592653589793
  stack_final:
  - type: f64
    value: 3.141592653589793
- name: Float f64 Close Numbers 1
  code: 1.0000000000000001:f64
  tokens:
  - type: f64
    value: 1.0
  operations:
  - function: push
    type: f64
    value: 1.0
  stack_final:
  - type: f64
    value: 1.0
- name: Float f64 Close Numbers 2
  code: 1.0000000000000002:f64
  tokens:
  - type: f64
    value: 1.0000000000000002
  operations:
  - function: push
    type: f64
    value: 1.0000000000000002
  stack_final:
  - type: f64
    value: 1.0000000000000002
- name: Float Invalid Multiple Decimal Points
  code: 3.14.159
  tokens:
  - type: error
    value: 'Invalid float literal: unexpected ''.'' in float.'
- name: Float Invalid Characters
  code: 3.1a4
  tokens:
  - type: error
    value: 'Invalid float literal: unexpected ''a'' in float.'
- name: Float Invalid Type Annotation
  code: 3.14:i32
  tokens:
  - type: error
    value: 'Invalid float type: must be of type ''f64'' or ''f32''.'
- name: Float Invalid Type Name
  code: 3.14:f16
  tokens:
  - type: error
    value: 'Invalid float type: must be of type ''f64'' or ''f32''.'
- name: Float Invalid Comma Separator
  code: 1,234.56
  tokens:
  - type: error
    value: 'Invalid decimal literal: unexpected '','' in decimal integer.'
- name: Float Default Leading Whitespace
  code: '  3.14'
  tokens:
  - type: f64
    value: 3.14
  operations:
  - function: push
    type: f64
    value: 3.14
  stack_final:
  - type: f64
    value: 3.14
- name: Float Default Trailing Whitespace
  code: '3.14  '
  tokens:
  - type: f64
    value: 3.14
  operations:
  - function: push
    type: f64
    value: 3.14
  stack_final:
  - type: f64
    value: 3.14
- name: Float Default Both Whitespace
  code: '  3.14  '
  tokens:
  - type: f64
    value: 3.14
  operations:
  - function: push
    type: f64
    value: 3.14
  stack_final:
  - type: f64
    value: 3.14
- name: Float f32 With Whitespace
  code: '  2.718:f32  '
  tokens:
  - type: f32
    value: 2.718
  operations:
  - function: push
    type: f32
    value: 2.718
  stack_final:
  - type: f32
    value: 2.718
- name: Float Default Pi Approximate
  code: '3.141592653589793'
  tokens:
  - type: f64
    value: 3.141592653589793
  operations:
  - function: push
    type: f64
    value: 3.141592653589793
  stack_final:
  - type: f64
    value: 3.141592653589793
- name: Float f32 Pi Approximate
  code: 3.1415927:f32
  tokens:
  - type: f32
    value: 3.1415927
  operations:
  - function: push
    type: f32
    value: 3.1415927
  stack_final:
  - type: f32
    value: 3.1415927
- name: Float Default Euler Approximate
  code: '2.718281828459045'
  tokens:
  - type: f64
    value: 2.718281828459045
  operations:
  - function: push
    type: f64
    value: 2.718281828459045
  stack_final:
  - type: f64
    value: 2.718281828459045
- name: Float f32 Euler Approximate
  code: 2.7182817:f32
  tokens:
  - type: f32
    value: 2.7182817
  operations:
  - function: push
    type: f32
    value: 2.7182817
  stack_final:
  - type: f32
    value: 2.7182817
- name: Float Default Golden Ratio
  code: '1.618033988749895'
  tokens:
  - type: f64
    value: 1.618033988749895
  operations:
  - function: push
    type: f64
    value: 1.618033988749895
  stack_final:
  - type: f64
    value: 1.618033988749895
- name: Float Default Sqrt2
  code: '1.4142135623730951'
  tokens:
  - type: f64
    value: 1.4142135623730951
  operations:
  - function: push
    type: f64
    value: 1.4142135623730951
  stack_final:
  - type: f64
    value: 1.4142135623730951
- name: Float Default Positive Zero
  code: '0.0'
  tokens:
  - type: f64
    value: 0.0
  operations:
  - function: push
    type: f64
    value: 0.0
  stack_final:
  - type: f64
    value: 0.0
- name: Float Default Negative Zero
  code: '-0.0'
  tokens:
  - type: f64
    value: -0.0
  operations:
  - function: push
    type: f64
    value: -0.0
  stack_final:
  - type: f64
    value: -0.0
- name: Float f32 Positive Zero
  code: 0.0:f32
  tokens:
  - type: f32
    value: 0.0
  operations:
  - function: push
    type: f32
    value: 0.0
  stack_final:
  - type: f32
    value: 0.0
- name: Float f32 Negative Zero
  code: -0.0:f32
  tokens:
  - type: f32
    value: -0.0
  operations:
  - function: push
    type: f32
    value: -0.0
  stack_final:
  - type: f32
    value: -0.0
- name: Char Simple Letter Uppercase A
  code: '''A'''
  tokens:
  - type: char
    value: A
  operations:
  - function: push
    type: char
    value: A
  stack_final:
  - type: char
    value: A
- name: Char Simple Letter Lowercase a
  code: '''a'''
  tokens:
  - type: char
    value: a
  operations:
  - function: push
    type: char
    value: a
  stack_final:
  - type: char
    value: a
- name: Char Simple Letter Uppercase Z
  code: '''Z'''
  tokens:
  - type: char
    value: Z
  operations:
  - function: push
    type: char
    value: Z
  stack_final:
  - type: char
    value: Z
- name: Char Simple Letter Lowercase z
  code: '''z'''
  tokens:
  - type: char
    value: z
  operations:
  - function: push
    type: char
    value: z
  stack_final:
  - type: char
    value: z
- name: Char Digit 0
  code: '''0'''
  tokens:
  - type: char
    value: '0'
  operations:
  - function: push
    type: char
    value: '0'
  stack_final:
  - type: char
    value: '0'
- name: Char Digit 5
  code: '''5'''
  tokens:
  - type: char
    value: '5'
  operations:
  - function: push
    type: char
    value: '5'
  stack_final:
  - type: char
    value: '5'
- name: Char Digit 9
  code: '''9'''
  tokens:
  - type: char
    value: '9'
  operations:
  - function: push
    type: char
    value: '9'
  stack_final:
  - type: char
    value: '9'
- name: Char Space
  code: ''' '''
  tokens:
  - type: char
    value: ' '
  operations:
  - function: push
    type: char
    value: ' '
  stack_final:
  - type: char
    value: ' '
- name: Char Exclamation
  code: '''!'''
  tokens:
  - type: char
    value: '!'
  operations:
  - function: push
    type: char
    value: '!'
  stack_final:
  - type: char
    value: '!'
- name: Char Question Mark
  code: '''?'''
  tokens:
  - type: char
    value: '?'
  operations:
  - function: push
    type: char
    value: '?'
  stack_final:
  - type: char
    value: '?'
- name: Char Period
  code: '''.'''
  tokens:
  - type: char
    value: .
  operations:
  - function: push
    type: char
    value: .
  stack_final:
  - type: char
    value: .
- name: Char Comma
  code: ''','''
  tokens:
  - type: char
    value: ','
  operations:
  - function: push
    type: char
    value: ','
  stack_final:
  - type: char
    value: ','
- name: Char Semicolon
  code: ''';'''
  tokens:
  - type: char
    value: ;
  operations:
  - function: push
    type: char
    value: ;
  stack_final:
  - type: char
    value: ;
- name: Char Colon
  code: ''':'''
  tokens:
  - type: char
    value: ':'
  operations:
  - function: push
    type: char
    value: ':'
  stack_final:
  - type: char
    value: ':'
- name: Char Plus
  code: '''+'''
  tokens:
  - type: char
    value: +
  operations:
  - function: push
    type: char
    value: +
  stack_final:
  - type: char
    value: +
- name: Char Minus
  code: '''-'''
  tokens:
  - type: char
    value: '-'
  operations:
  - function: push
    type: char
    value: '-'
  stack_final:
  - type: char
    value: '-'
- name: Char Asterisk
  code: '''*'''
  tokens:
  - type: char
    value: '*'
  operations:
  - function: push
    type: char
    value: '*'
  stack_final:
  - type: char
    value: '*'
- name: Char Slash
  code: '''/'''
  tokens:
  - type: char
    value: /
  operations:
  - function: push
    type: char
    value: /
  stack_final:
  - type: char
    value: /
- name: Char Equals
  code: '''='''
  tokens:
  - type: char
    value: '='
  operations:
  - function: push
    type: char
    value: '='
  stack_final:
  - type: char
    value: '='
- name: Char Less Than
  code: '''<'''
  tokens:
  - type: char
    value: <
  operations:
  - function: push
    type: char
    value: <
  stack_final:
  - type: char
    value: <
- name: Char Greater Than
  code: '''>'''
  tokens:
  - type: char
    value: '>'
  operations:
  - function: push
    type: char
    value: '>'
  stack_final:
  - type: char
    value: '>'
- name: Char Left Paren
  code: '''('''
  tokens:
  - type: char
    value: (
  operations:
  - function: push
    type: char
    value: (
  stack_final:
  - type: char
    value: (
- name: Char Right Paren
  code: ''')'''
  tokens:
  - type: char
    value: )
  operations:
  - function: push
    type: char
    value: )
  stack_final:
  - type: char
    value: )
- name: Char Left Bracket
  code: '''['''
  tokens:
  - type: char
    value: '['
  operations:
  - function: push
    type: char
    value: '['
  stack_final:
  - type: char
    value: '['
- name: Char Right Bracket
  code: ''']'''
  tokens:
  - type: char
    value: ']'
  operations:
  - function: push
    type: char
    value: ']'
  stack_final:
  - type: char
    value: ']'
- name: Char Left Brace
  code: '''{'''
  tokens:
  - type: char
    value: '{'
  operations:
  - function: push
    type: char
    value: '{'
  stack_final:
  - type: char
    value: '{'
- name: Char Right Brace
  code: '''}'''
  tokens:
  - type: char
    value: '}'
  operations:
  - function: push
    type: char
    value: '}'
  stack_final:
  - type: char
    value: '}'
- name: Char Escape Single quote
  code: '''\\'''''
  tokens:
  - type: char
    value: ''''
  operations:
  - function: push
    type: char
    value: ''''
  stack_final:
  - type: char
    value: ''''
- name: Char Escape Newline
  code: '''\\n'''
  tokens:
  - type: char
    value: '

      '
  operations:
  - function: push
    type: char
    value: '

      '
  stack_final:
  - type: char
    value: '

      '
- name: Char Escape Null character
  code: '''\\0'''
  tokens:
  - type: char
    value: "\0"
  operations:
  - function: push
    type: char
    value: "\0"
  stack_final:
  - type: char
    value: "\0"
- name: Char Escape Backslash
  code: '''\\\\'''
  tokens:
  - type: char
    value: \
  operations:
  - function: push
    type: char
    value: \
  stack_final:
  - type: char
    value: \
- name: Char Escape Tab
  code: '''\\t'''
  tokens:
  - type: char
    value: "\t"
  operations:
  - function: push
    type: char
    value: "\t"
  stack_final:
  - type: char
    value: "\t"
- name: Char Escape Carriage return
  code: '''\\r'''
  tokens:
  - type: char
    value: "\r"
  operations:
  - function: push
    type: char
    value: "\r"
  stack_final:
  - type: char
    value: "\r"
- name: Char With Leading Whitespace
  code: '  ''A'''
  tokens:
  - type: char
    value: A
  operations:
  - function: push
    type: char
    value: A
  stack_final:
  - type: char
    value: A
- name: Char With Trailing Whitespace
  code: '''A''  '
  tokens:
  - type: char
    value: A
  operations:
  - function: push
    type: char
    value: A
  stack_final:
  - type: char
    value: A
- name: Char With Both Whitespace
  code: '  ''A''  '
  tokens:
  - type: char
    value: A
  operations:
  - function: push
    type: char
    value: A
  stack_final:
  - type: char
    value: A
- name: Char Tab Before
  code: \t'B'
  tokens:
  - type: char
    value: B
  operations:
  - function: push
    type: char
    value: B
  stack_final:
  - type: char
    value: B
- name: Char Newline Before
  code: \n'C'
  tokens:
  - type: char
    value: C
  operations:
  - function: push
    type: char
    value: C
  stack_final:
  - type: char
    value: C
- name: Char Empty Literal
  code: ''''''
  tokens:
  - type: error
    value: 'Invalid character literal: empty character literal.'
- name: Char Multiple Characters
  code: '''AB'''
  tokens:
  - type: error
    value: 'Invalid character literal: unexpected ''B'' in character.'
- name: Char Unclosed Quote
  code: '''A'
  tokens:
  - type: error
    value: 'Invalid character literal: unclosed character literal.'
- name: Char Unescaped Newline
  code: '''\n'''
  tokens:
  - type: error
    value: 'Invalid character literal: unclosed character literal.'
- name: Char Invalid Escape
  code: '''\\q'''
  tokens:
  - type: error
    value: 'Invalid character literal: unknown escape sequence ''\\q''.'
- name: Identifier Simple Lowercase
  code: hello
  tokens:
  - type: identifier
    value: hello
  operations:
  - function: push
    type: identifier
    value: hello
  stack_final:
  - type: identifier
    value: hello
- name: Identifier Simple Uppercase
  code: HELLO
  tokens:
  - type: identifier
    value: HELLO
  operations:
  - function: push
    type: identifier
    value: HELLO
  stack_final:
  - type: identifier
    value: HELLO
- name: Identifier Mixed Case
  code: HelloWorld
  tokens:
  - type: identifier
    value: HelloWorld
  operations:
  - function: push
    type: identifier
    value: HelloWorld
  stack_final:
  - type: identifier
    value: HelloWorld
- name: Identifier Single Letter
  code: x
  tokens:
  - type: identifier
    value: x
  operations:
  - function: push
    type: identifier
    value: x
  stack_final:
  - type: identifier
    value: x
- name: Identifier Single Letter Upper
  code: X
  tokens:
  - type: identifier
    value: X
  operations:
  - function: push
    type: identifier
    value: X
  stack_final:
  - type: identifier
    value: X
- name: Identifier With Numbers
  code: var123
  tokens:
  - type: identifier
    value: var123
  operations:
  - function: push
    type: identifier
    value: var123
  stack_final:
  - type: identifier
    value: var123
- name: Identifier Numbers End
  code: myVar2
  tokens:
  - type: identifier
    value: myVar2
  operations:
  - function: push
    type: identifier
    value: myVar2
  stack_final:
  - type: identifier
    value: myVar2
- name: Identifier Mixed Numbers
  code: a1b2c3
  tokens:
  - type: identifier
    value: a1b2c3
  operations:
  - function: push
    type: identifier
    value: a1b2c3
  stack_final:
  - type: identifier
    value: a1b2c3
- name: Identifier With Underscore
  code: hello_world
  tokens:
  - type: identifier
    value: hello_world
  operations:
  - function: push
    type: identifier
    value: hello_world
  stack_final:
  - type: identifier
    value: hello_world
- name: Identifier Leading Underscore
  code: _private
  tokens:
  - type: identifier
    value: _private
  operations:
  - function: push
    type: identifier
    value: _private
  stack_final:
  - type: identifier
    value: _private
- name: Identifier Multiple Underscores
  code: my_long_var_name
  tokens:
  - type: identifier
    value: my_long_var_name
  operations:
  - function: push
    type: identifier
    value: my_long_var_name
  stack_final:
  - type: identifier
    value: my_long_var_name
- name: Identifier Double Underscore
  code: my__var
  tokens:
  - type: identifier
    value: my__var
  operations:
  - function: push
    type: identifier
    value: my__var
  stack_final:
  - type: identifier
    value: my__var
- name: Identifier Trailing Underscore
  code: var_
  tokens:
  - type: identifier
    value: var_
  operations:
  - function: push
    type: identifier
    value: var_
  stack_final:
  - type: identifier
    value: var_
- name: Identifier Only Underscores
  code: ___
  tokens:
  - type: identifier
    value: ___
  operations:
  - function: push
    type: identifier
    value: ___
  stack_final:
  - type: identifier
    value: ___
- name: Identifier Snake Case
  code: my_variable_name
  tokens:
  - type: identifier
    value: my_variable_name
  operations:
  - function: push
    type: identifier
    value: my_variable_name
  stack_final:
  - type: identifier
    value: my_variable_name
- name: Identifier Camel Case
  code: myVariableName
  tokens:
  - type: identifier
    value: myVariableName
  operations:
  - function: push
    type: identifier
    value: myVariableName
  stack_final:
  - type: identifier
    value: myVariableName
- name: Identifier Pascal Case
  code: MyClassName
  tokens:
  - type: identifier
    value: MyClassName
  operations:
  - function: push
    type: identifier
    value: MyClassName
  stack_final:
  - type: identifier
    value: MyClassName
- name: Identifier All Caps
  code: MY_CONSTANT
  tokens:
  - type: identifier
    value: MY_CONSTANT
  operations:
  - function: push
    type: identifier
    value: MY_CONSTANT
  stack_final:
  - type: identifier
    value: MY_CONSTANT
- name: Identifier With Dash
  code: my-var
  tokens:
  - type: identifier
    value: my-var
  operations:
  - function: push
    type: identifier
    value: my-var
  stack_final:
  - type: identifier
    value: my-var
- name: Identifier Literal Simple
  code: ::hello
  tokens:
  - type: identifier_literal
    value: hello
  operations:
  - function: push
    type: identifier_literal
    value: hello
  stack_final:
  - type: identifier_literal
    value: hello
- name: Identifier Literal Uppercase
  code: ::Point
  tokens:
  - type: identifier_literal
    value: Point
  operations:
  - function: push
    type: identifier_literal
    value: Point
  stack_final:
  - type: identifier_literal
    value: Point
- name: Identifier Literal Snake Case
  code: ::my_var
  tokens:
  - type: identifier_literal
    value: my_var
  operations:
  - function: push
    type: identifier_literal
    value: my_var
  stack_final:
  - type: identifier_literal
    value: my_var
- name: Identifier Literal Type i64
  code: ::i64
  tokens:
  - type: identifier_literal
    value: i64
  operations:
  - function: push
    type: identifier_literal
    value: i64
  stack_final:
  - type: identifier_literal
    value: i64
- name: Identifier Literal Type String
  code: ::String
  tokens:
  - type: identifier_literal
    value: String
  operations:
  - function: push
    type: identifier_literal
    value: String
  stack_final:
  - type: identifier_literal
    value: String
- name: Identifier Literal Type Point
  code: ::Point
  tokens:
  - type: identifier_literal
    value: Point
  operations:
  - function: push
    type: identifier_literal
    value: Point
  stack_final:
  - type: identifier_literal
    value: Point
- name: Identifier Literal Trait Addable
  code: ::Addable
  tokens:
  - type: identifier_literal
    value: Addable
  operations:
  - function: push
    type: identifier_literal
    value: Addable
  stack_final:
  - type: identifier_literal
    value: Addable
- name: Identifier Literal Trait Drawable
  code: ::Drawable
  tokens:
  - type: identifier_literal
    value: Drawable
  operations:
  - function: push
    type: identifier_literal
    value: Drawable
  stack_final:
  - type: identifier_literal
    value: Drawable
- name: Identifier Literal Field x
  code: ::x
  tokens:
  - type: identifier_literal
    value: x
  operations:
  - function: push
    type: identifier_literal
    value: x
  stack_final:
  - type: identifier_literal
    value: x
- name: Identifier Literal Field width
  code: ::width
  tokens:
  - type: identifier_literal
    value: width
  operations:
  - function: push
    type: identifier_literal
    value: width
  stack_final:
  - type: identifier_literal
    value: width
- name: Identifier Literal With Underscore
  code: ::_private
  tokens:
  - type: identifier_literal
    value: _private
  operations:
  - function: push
    type: identifier_literal
    value: _private
  stack_final:
  - type: identifier_literal
    value: _private
- name: Identifier Literal Multiple Underscores
  code: ::my_long_name
  tokens:
  - type: identifier_literal
    value: my_long_name
  operations:
  - function: push
    type: identifier_literal
    value: my_long_name
  stack_final:
  - type: identifier_literal
    value: my_long_name
- name: Identifier Literal With Numbers
  code: ::var123
  tokens:
  - type: identifier_literal
    value: var123
  operations:
  - function: push
    type: identifier_literal
    value: var123
  stack_final:
  - type: identifier_literal
    value: var123
- name: Identifier Leading Whitespace
  code: '  hello'
  tokens:
  - type: identifier
    value: hello
  operations:
  - function: push
    type: identifier
    value: hello
  stack_final:
  - type: identifier
    value: hello
- name: Identifier Trailing Whitespace
  code: 'hello  '
  tokens:
  - type: identifier
    value: hello
  operations:
  - function: push
    type: identifier
    value: hello
  stack_final:
  - type: identifier
    value: hello
- name: Identifier Both Whitespace
  code: '  hello  '
  tokens:
  - type: identifier
    value: hello
  operations:
  - function: push
    type: identifier
    value: hello
  stack_final:
  - type: identifier
    value: hello
- name: Identifier Tab Before
  code: \thello
  tokens:
  - type: identifier
    value: hello
  operations:
  - function: push
    type: identifier
    value: hello
  stack_final:
  - type: identifier
    value: hello
- name: Identifier Literal Leading Whitespace
  code: '  ::hello'
  tokens:
  - type: identifier_literal
    value: hello
  operations:
  - function: push
    type: identifier_literal
    value: hello
  stack_final:
  - type: identifier_literal
    value: hello
- name: Identifier Literal Trailing Whitespace
  code: '::hello  '
  tokens:
  - type: identifier_literal
    value: hello
  operations:
  - function: push
    type: identifier_literal
    value: hello
  stack_final:
  - type: identifier_literal
    value: hello
- name: Identifier Literal Both Whitespace
  code: '  ::hello  '
  tokens:
  - type: identifier_literal
    value: hello
  operations:
  - function: push
    type: identifier_literal
    value: hello
  stack_final:
  - type: identifier_literal
    value: hello
- name: Identifier Moderate Length
  code: thisIsAReasonablyLongVariableName
  tokens:
  - type: identifier
    value: thisIsAReasonablyLongVariableName
  operations:
  - function: push
    type: identifier
    value: thisIsAReasonablyLongVariableName
  stack_final:
  - type: identifier
    value: thisIsAReasonablyLongVariableName
- name: Identifier Very Long
  code: this_is_a_very_long_identifier_name_that_someone_might_use_for_some_reason
  tokens:
  - type: identifier
    value: this_is_a_very_long_identifier_name_that_someone_might_use_for_some_reason
  operations:
  - function: push
    type: identifier
    value: this_is_a_very_long_identifier_name_that_someone_might_use_for_some_reason
  stack_final:
  - type: identifier
    value: this_is_a_very_long_identifier_name_that_someone_might_use_for_some_reason
- name: Identifier Long With Numbers
  code: variable_with_many_numbers_123_456_789_000
  tokens:
  - type: identifier
    value: variable_with_many_numbers_123_456_789_000
  operations:
  - function: push
    type: identifier
    value: variable_with_many_numbers_123_456_789_000
  stack_final:
  - type: identifier
    value: variable_with_many_numbers_123_456_789_000
- name: Identifier Starting With Number
  code: 123abc
  tokens:
  - type: error
    value: 'Invalid decimal literal: unexpected ''a'' in decimal integer.'
- name: Identifier With Octothorpe
  code: my#var
  tokens:
  - type: identifier
    value: my
  operations:
  - function: push
    type: identifier
    value: my
  stack_final:
  - type: identifier
    value: my
- name: Identifier With Colon
  code: my:var
  tokens:
  - type: error
    value: 'Invalid identifier: '':'' is not allowed in identifiers.'
- name: Identifier Double Colon Inside
  code: my::var
  tokens:
  - type: error
    value: 'Invalid identifier: '':'' is not allowed in identifiers.'
- name: Identifier Only Numbers
  code: '123'
  tokens:
  - type: i64
    value: 123
  operations:
  - function: push
    type: i64
    value: 123
  stack_final:
  - type: i64
    value: 123
- name: Identifier Literal Empty
  code: '::'
  tokens:
  - type: error
    value: 'Invalid identifier literal: empty identifier after ''::''.'
- name: Identifier Case Lower
  code: variable
  tokens:
  - type: identifier
    value: variable
  operations:
  - function: push
    type: identifier
    value: variable
  stack_final:
  - type: identifier
    value: variable
- name: Identifier Case Upper
  code: VARIABLE
  tokens:
  - type: identifier
    value: VARIABLE
  operations:
  - function: push
    type: identifier
    value: VARIABLE
  stack_final:
  - type: identifier
    value: VARIABLE
- name: Identifier Case Mixed
  code: Variable
  tokens:
  - type: identifier
    value: Variable
  operations:
  - function: push
    type: identifier
    value: Variable
  stack_final:
  - type: identifier
    value: Variable
- name: Identifier Case Camel
  code: variableName
  tokens:
  - type: identifier
    value: variableName
  operations:
  - function: push
    type: identifier
    value: variableName
  stack_final:
  - type: identifier
    value: variableName
- name: Identifier Case Pascal
  code: VariableName
  tokens:
  - type: identifier
    value: VariableName
  operations:
  - function: push
    type: identifier
    value: VariableName
  stack_final:
  - type: identifier
    value: VariableName
- name: Identifier Reserved Word if
  code: if
  tokens:
  - type: identifier
    value: if
  operations:
  - function: push
    type: identifier
    value: if
  stack_final:
  - type: identifier
    value: if
- name: Identifier Reserved Word while
  code: while
  tokens:
  - type: identifier
    value: while
  operations:
  - function: push
    type: identifier
    value: while
  stack_final:
  - type: identifier
    value: while
- name: Identifier Reserved Word for
  code: for
  tokens:
  - type: identifier
    value: for
  operations:
  - function: push
    type: identifier
    value: for
  stack_final:
  - type: identifier
    value: for
- name: Identifier Reserved Word match
  code: match
  tokens:
  - type: identifier
    value: match
  operations:
  - function: push
    type: identifier
    value: match
  stack_final:
  - type: identifier
    value: match
- name: Identifier Reserved Word break
  code: break
  tokens:
  - type: identifier
    value: break
  operations:
  - function: push
    type: identifier
    value: break
  stack_final:
  - type: identifier
    value: break
- name: Identifier Reserved Word continue
  code: continue
  tokens:
  - type: identifier
    value: continue
  operations:
  - function: push
    type: identifier
    value: continue
  stack_final:
  - type: identifier
    value: continue
- name: Identifier Reserved Word fn
  code: fn
  tokens:
  - type: identifier
    value: fn
  operations:
  - function: push
    type: identifier
    value: fn
  stack_final:
  - type: identifier
    value: fn
- name: Identifier Reserved Word struct
  code: struct
  tokens:
  - type: identifier
    value: struct
  operations:
  - function: push
    type: identifier
    value: struct
  stack_final:
  - type: identifier
    value: struct
- name: Identifier Reserved Word union
  code: union
  tokens:
  - type: identifier
    value: union
  operations:
  - function: push
    type: identifier
    value: union
  stack_final:
  - type: identifier
    value: union
- name: Identifier Reserved Word enum
  code: enum
  tokens:
  - type: identifier
    value: enum
  operations:
  - function: push
    type: identifier
    value: enum
  stack_final:
  - type: identifier
    value: enum
- name: Identifier Reserved Word trait
  code: trait
  tokens:
  - type: identifier
    value: trait
  operations:
  - function: push
    type: identifier
    value: trait
  stack_final:
  - type: identifier
    value: trait
- name: Identifier Reserved Word impl
  code: impl
  tokens:
  - type: identifier
    value: impl
  operations:
  - function: push
    type: identifier
    value: impl
  stack_final:
  - type: identifier
    value: impl
- name: Identifier Reserved Word inher
  code: inher
  tokens:
  - type: identifier
    value: inher
  operations:
  - function: push
    type: identifier
    value: inher
  stack_final:
  - type: identifier
    value: inher
- name: Identifier Reserved Word dup
  code: dup
  tokens:
  - type: identifier
    value: dup
  operations:
  - function: push
    type: identifier
    value: dup
  stack_final:
  - type: identifier
    value: dup
- name: Identifier Reserved Word drop
  code: drop
  tokens:
  - type: identifier
    value: drop
  operations:
  - function: push
    type: identifier
    value: drop
  stack_final:
  - type: identifier
    value: drop
- name: Identifier Reserved Word swap
  code: swap
  tokens:
  - type: identifier
    value: swap
  operations:
  - function: push
    type: identifier
    value: swap
  stack_final:
  - type: identifier
    value: swap
- name: Identifier Reserved Word over
  code: over
  tokens:
  - type: identifier
    value: over
  operations:
  - function: push
    type: identifier
    value: over
  stack_final:
  - type: identifier
    value: over
- name: Identifier Reserved Word rot
  code: rot
  tokens:
  - type: identifier
    value: rot
  operations:
  - function: push
    type: identifier
    value: rot
  stack_final:
  - type: identifier
    value: rot
- name: Identifier Reserved Word pick
  code: pick
  tokens:
  - type: identifier
    value: pick
  operations:
  - function: push
    type: identifier
    value: pick
  stack_final:
  - type: identifier
    value: pick
- name: Identifier Reserved Word roll
  code: roll
  tokens:
  - type: identifier
    value: roll
  operations:
  - function: push
    type: identifier
    value: roll
  stack_final:
  - type: identifier
    value: roll
- name: Identifier Reserved Word depth
  code: depth
  tokens:
  - type: identifier
    value: depth
  operations:
  - function: push
    type: identifier
    value: depth
  stack_final:
  - type: identifier
    value: depth
- name: Bool True
  code: 'true'
  tokens:
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
- name: Bool False
  code: 'false'
  tokens:
  - type: bool
    value: false
  operations:
  - function: push
    type: bool
    value: false
  stack_final:
  - type: bool
    value: false
- name: Bool True Leading Whitespace
  code: '  true'
  tokens:
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
- name: Bool True Trailing Whitespace
  code: 'true  '
  tokens:
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
- name: Bool True Both Whitespace
  code: '  true  '
  tokens:
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
- name: Bool True Tab Before
  code: \ttrue
  tokens:
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
- name: Bool False Leading Whitespace
  code: '  false'
  tokens:
  - type: bool
    value: false
  operations:
  - function: push
    type: bool
    value: false
  stack_final:
  - type: bool
    value: false
- name: Bool False Trailing Whitespace
  code: 'false  '
  tokens:
  - type: bool
    value: false
  operations:
  - function: push
    type: bool
    value: false
  stack_final:
  - type: bool
    value: false
- name: Bool False Both Whitespace
  code: '  false  '
  tokens:
  - type: bool
    value: false
  operations:
  - function: push
    type: bool
    value: false
  stack_final:
  - type: bool
    value: false
- name: Bool False Tab Before
  code: \tfalse
  tokens:
  - type: bool
    value: false
  operations:
  - function: push
    type: bool
    value: false
  stack_final:
  - type: bool
    value: false
- name: Bool True Capitalized
  code: 'True'
  tokens:
  - type: identifier
    value: 'True'
  operations:
  - function: push
    type: identifier
    value: 'True'
  stack_final:
  - type: identifier
    value: 'True'
- name: Bool False Capitalized
  code: 'False'
  tokens:
  - type: identifier
    value: 'False'
  operations:
  - function: push
    type: identifier
    value: 'False'
  stack_final:
  - type: identifier
    value: 'False'
- name: Bool True All Caps
  code: 'TRUE'
  tokens:
  - type: identifier
    value: 'TRUE'
  operations:
  - function: push
    type: identifier
    value: 'TRUE'
  stack_final:
  - type: identifier
    value: 'TRUE'
- name: Bool False All Caps
  code: 'FALSE'
  tokens:
  - type: identifier
    value: 'FALSE'
  operations:
  - function: push
    type: identifier
    value: 'FALSE'
  stack_final:
  - type: identifier
    value: 'FALSE'
- name: Bool True Mixed Case
  code: tRuE
  tokens:
  - type: identifier
    value: tRuE
  operations:
  - function: push
    type: identifier
    value: tRuE
  stack_final:
  - type: identifier
    value: tRuE
- name: Bool False Mixed Case
  code: fAlSe
  tokens:
  - type: identifier
    value: fAlSe
  operations:
  - function: push
    type: identifier
    value: fAlSe
  stack_final:
  - type: identifier
    value: fAlSe
- name: Bool Numeric 1
  code: '1'
  tokens:
  - type: i64
    value: 1
  operations:
  - function: push
    type: i64
    value: 1
  stack_final:
  - type: i64
    value: 1
- name: Bool Numeric 0
  code: '0'
  tokens:
  - type: i64
    value: 0
  operations:
  - function: push
    type: i64
    value: 0
  stack_final:
  - type: i64
    value: 0
- name: Bool Yes
  code: 'yes'
  tokens:
  - type: identifier
    value: 'yes'
  operations:
  - function: push
    type: identifier
    value: 'yes'
  stack_final:
  - type: identifier
    value: 'yes'
- name: Bool No
  code: 'no'
  tokens:
  - type: identifier
    value: 'no'
  operations:
  - function: push
    type: identifier
    value: 'no'
  stack_final:
  - type: identifier
    value: 'no'
- name: Bool Typo Ture
  code: ture
  tokens:
  - type: identifier
    value: ture
  operations:
  - function: push
    type: identifier
    value: ture
  stack_final:
  - type: identifier
    value: ture
- name: Bool Typo Flase
  code: flase
  tokens:
  - type: identifier
    value: flase
  operations:
  - function: push
    type: identifier
    value: flase
  stack_final:
  - type: identifier
    value: flase
- name: Bool Multiple True False
  code: true false
  tokens:
  - type: bool
    value: true
  - type: bool
    value: false
  operations:
  - function: push
    type: bool
    value: true
  - function: push
    type: bool
    value: false
  stack_final:
  - type: bool
    value: true
  - type: bool
    value: false
- name: Bool Multiple Same
  code: true true
  tokens:
  - type: bool
    value: true
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
  - type: bool
    value: true
- name: Bool Three Values
  code: true false true
  tokens:
  - type: bool
    value: true
  - type: bool
    value: false
  - type: bool
    value: true
  operations:
  - function: push
    type: bool
    value: true
  - function: push
    type: bool
    value: false
  - function: push
    type: bool
    value: true
  stack_final:
  - type: bool
    value: true
  - type: bool
    value: false
  - type: bool
    value: true
- name: TokenString Empty
  code: '{ }'
  tokens:
  - type: token_string
    value: []
  operations:
  - function: push
    type: token_string
    value:
      tokens: []
  stack_final:
  - type: token_string
    value:
      tokens: []
- name: TokenString Single Integer
  code: '{ 42 }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 42
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 42
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 42
- name: TokenString Single Identifier
  code: '{ dup }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
- name: TokenString Two Integers
  code: '{ 2 3 }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
- name: TokenString Simple Expression
  code: '{ 2 3 + }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Stack Ops
  code: '{ dup * }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: identifier
      value: '*'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
- name: TokenString Integer Literals
  code: '{ 0 42 -10 1000 }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 0
    - type: i64
      value: 42
    - type: i64
      value: -10
    - type: i64
      value: 1000
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 0
      - type: i64
        value: 42
      - type: i64
        value: -10
      - type: i64
        value: 1000
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 0
      - type: i64
        value: 42
      - type: i64
        value: -10
      - type: i64
        value: 1000
- name: TokenString Float Literals
  code: '{ 3.14 -2.5 0.0 }'
  tokens:
  - type: token_string
    value:
    - type: f64
      value: 3.14
    - type: f64
      value: -2.5
    - type: f64
      value: 0.0
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: f64
        value: 3.14
      - type: f64
        value: -2.5
      - type: f64
        value: 0.0
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: f64
        value: 3.14
      - type: f64
        value: -2.5
      - type: f64
        value: 0.0
- name: TokenString Char Literal
  code: '{ ''A'' }'
  tokens:
  - type: token_string
    value:
    - type: char
      value: A
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: char
        value: A
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: char
        value: A
- name: TokenString Boolean Literals
  code: '{ true false }'
  tokens:
  - type: token_string
    value:
    - type: bool
      value: true
    - type: bool
      value: false
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: bool
        value: true
      - type: bool
        value: false
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: bool
        value: true
      - type: bool
        value: false
- name: TokenString Multiple Identifiers
  code: '{ dup swap over }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: identifier
      value: swap
    - type: identifier
      value: over
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: swap
      - type: identifier
        value: over
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: swap
      - type: identifier
        value: over
- name: TokenString Identifier Literals
  code: '{ ::x ::y }'
  tokens:
  - type: token_string
    value:
    - type: identifier_literal
      value: x
    - type: identifier_literal
      value: y
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier_literal
        value: x
      - type: identifier_literal
        value: y
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier_literal
        value: x
      - type: identifier_literal
        value: y
- name: TokenString Mixed Identifiers
  code: '{ ::Point get x swap }'
  tokens:
  - type: token_string
    value:
    - type: identifier_literal
      value: Point
    - type: identifier
      value: get
    - type: identifier
      value: x
    - type: identifier
      value: swap
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier_literal
        value: Point
      - type: identifier
        value: get
      - type: identifier
        value: x
      - type: identifier
        value: swap
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier_literal
        value: Point
      - type: identifier
        value: get
      - type: identifier
        value: x
      - type: identifier
        value: swap
- name: TokenString Nested Single
  code: '{ { 2 3 + } }'
  tokens:
  - type: token_string
    value:
    - type: token_string
      value:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: i64
          value: 3
        - type: identifier
          value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: i64
          value: 3
        - type: identifier
          value: +
- name: TokenString Nested With Others
  code: '{ x { dup * } }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: x
    - type: token_string
      value:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: x
      - type: token_string
        value:
        - type: identifier
          value: dup
        - type: identifier
          value: '*'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: x
      - type: token_string
        value:
        - type: identifier
          value: dup
        - type: identifier
          value: '*'
- name: TokenString Multiple Nested
  code: '{ { 2 3 + } { 4 5 * } }'
  tokens:
  - type: token_string
    value:
    - type: token_string
      value:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
    - type: token_string
      value:
      - type: i64
        value: 4
      - type: i64
        value: 5
      - type: identifier
        value: '*'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: i64
          value: 3
        - type: identifier
          value: +
      - type: token_string
        value:
        - type: i64
          value: 4
        - type: i64
          value: 5
        - type: identifier
          value: '*'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: i64
          value: 3
        - type: identifier
          value: +
      - type: token_string
        value:
        - type: i64
          value: 4
        - type: i64
          value: 5
        - type: identifier
          value: '*'
- name: TokenString Double Nested
  code: '{ { { 42 } } }'
  tokens:
  - type: token_string
    value:
    - type: token_string
      value:
      - type: token_string
        value:
        - type: i64
          value: 42
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: token_string
          value:
          - type: i64
            value: 42
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: token_string
          value:
          - type: i64
            value: 42
- name: TokenString Complex Nesting
  code: '{ 1 { 2 { 3 } 4 } 5 }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 1
    - type: token_string
      value:
      - type: i64
        value: 2
      - type: token_string
        value:
        - type: i64
          value: 3
      - type: i64
        value: 4
    - type: i64
      value: 5
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 1
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: token_string
          value:
          - type: i64
            value: 3
        - type: i64
          value: 4
      - type: i64
        value: 5
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 1
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: token_string
          value:
          - type: i64
            value: 3
        - type: i64
          value: 4
      - type: i64
        value: 5
- name: TokenString No Whitespace
  code: '{2 3 +}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Extra Whitespace
  code: '{   2    3     +   }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Leading Whitespace Outside
  code: '   { 2 3 + }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Trailing Whitespace Outside
  code: '{ 2 3 + }   '
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString With Tabs
  code: '{\t2\t3\t+\t}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Multiline Simple
  code: '{\n    2 3 +\n}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Multiline Multiple
  code: '{\n    dup\n    *\n    2\n    +\n}'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: identifier
      value: '*'
    - type: i64
      value: 2
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
      - type: i64
        value: 2
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
      - type: i64
        value: 2
      - type: identifier
        value: +
- name: TokenString Mixed Line Breaks
  code: '{ 1 2\n3 4\n\n5 6 }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 1
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: i64
      value: 4
    - type: i64
      value: 5
    - type: i64
      value: 6
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 1
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: i64
        value: 4
      - type: i64
        value: 5
      - type: i64
        value: 6
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 1
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: i64
        value: 4
      - type: i64
        value: 5
      - type: i64
        value: 6
- name: TokenString Indented Multiline
  code: '{\n    dup 0 >\n        { }\n        { 0 swap - }\n    if\n}'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: i64
      value: 0
    - type: identifier
      value: '>'
    - type: token_string
      value: []
    - type: token_string
      value:
      - type: i64
        value: 0
      - type: identifier
        value: swap
      - type: identifier
        value: '-'
    - type: identifier
      value: if
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: i64
        value: 0
      - type: identifier
        value: '>'
      - type: token_string
        value: []
      - type: token_string
        value:
        - type: i64
          value: 0
        - type: identifier
          value: swap
        - type: identifier
          value: '-'
      - type: identifier
        value: if
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: i64
        value: 0
      - type: identifier
        value: '>'
      - type: token_string
        value: []
      - type: token_string
        value:
        - type: i64
          value: 0
        - type: identifier
          value: swap
        - type: identifier
          value: '-'
      - type: identifier
        value: if
- name: TokenString Comment End Of Line
  code: '{ 2 3 + // add them\n}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Multiple Comments
  code: '{ 2 // first\n3 // second\n+ // add\n}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Comment Own Line
  code: '{\n    // This is a comment\n    2 3 +\n}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Comment At Start
  code: '{ // comment\n2 3 + }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Multiple Comment Lines
  code: '{\n    // First comment\n    // Second comment\n    2 3 +\n}'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
- name: TokenString Comments Nested
  code: '{ { 2 3 + // inner comment\n} // outer comment\n}'
  tokens:
  - type: token_string
    value:
    - type: token_string
      value:
      - type: i64
        value: 2
      - type: i64
        value: 3
      - type: identifier
        value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: i64
          value: 3
        - type: identifier
          value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: token_string
        value:
        - type: i64
          value: 2
        - type: i64
          value: 3
        - type: identifier
          value: +
- name: TokenString Unclosed
  code: '{ 2 3 +'
  tokens:
  - type: error
    value: 'Unclosed token string: missing closing brace ''}''.'
- name: TokenString Unclosed Nested
  code: '{ { 2 3 + }'
  tokens:
  - type: error
    value: 'Unclosed token string: missing closing brace ''}''.'
- name: TokenString Extra Closing Brace
  code: '{ 2 3 + } }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: i64
      value: 3
    - type: identifier
      value: +
  - type: error
    value: Unexpected closing brace '}' without matching opening brace.
- name: TokenString Only Closing Brace
  code: '}'
  tokens:
  - type: error
    value: Unexpected closing brace '}' without matching opening brace.
- name: TokenString Error Inside
  code: '{ 2 3a + }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: error
      value: 'Invalid decimal literal: unexpected ''a'' in decimal integer.'
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: error
        value: 'Invalid decimal literal: unexpected ''a'' in decimal integer.'
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: error
        value: 'Invalid decimal literal: unexpected ''a'' in decimal integer.'
      - type: identifier
        value: +
- name: TokenString Function Body
  code: '{ dup * }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: identifier
      value: '*'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
- name: TokenString Loop Body
  code: '{ dup print 1 + }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: identifier
      value: print
    - type: i64
      value: 1
    - type: identifier
      value: +
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: print
      - type: i64
        value: 1
      - type: identifier
        value: +
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: print
      - type: i64
        value: 1
      - type: identifier
        value: +
- name: TokenString Struct Fields
  code: '{ x: y: }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: x
    - type: identifier
      value: ':'
    - type: identifier
      value: y
    - type: identifier
      value: ':'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: x
      - type: identifier
        value: ':'
      - type: identifier
        value: y
      - type: identifier
        value: ':'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: x
      - type: identifier
        value: ':'
      - type: identifier
        value: y
      - type: identifier
        value: ':'
- name: TokenString Lambda
  code: '{ 2 * }'
  tokens:
  - type: token_string
    value:
    - type: i64
      value: 2
    - type: identifier
      value: '*'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: identifier
        value: '*'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: i64
        value: 2
      - type: identifier
        value: '*'
- name: TokenString Array Map
  code: '{ dup * }'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: identifier
      value: '*'
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
- name: TokenString Conditional Complex
  code: '{\n    dup 0 >\n        { dup * }\n        { drop 0 }\n    if\n}'
  tokens:
  - type: token_string
    value:
    - type: identifier
      value: dup
    - type: i64
      value: 0
    - type: identifier
      value: '>'
    - type: token_string
      value:
      - type: identifier
        value: dup
      - type: identifier
        value: '*'
    - type: token_string
      value:
      - type: identifier
        value: drop
      - type: i64
        value: 0
    - type: identifier
      value: if
  operations:
  - function: push
    type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: i64
        value: 0
      - type: identifier
        value: '>'
      - type: token_string
        value:
        - type: identifier
          value: dup
        - type: identifier
          value: '*'
      - type: token_string
        value:
        - type: identifier
          value: drop
        - type: i64
          value: 0
      - type: identifier
        value: if
  stack_final:
  - type: token_string
    value:
      tokens:
      - type: identifier
        value: dup
      - type: i64
        value: 0
      - type: identifier
        value: '>'
      - type: token_string
        value:
        - type: identifier
          value: dup
        - type: identifier
          value: '*'
      - type: token_string
        value:
        - type: identifier
          value: drop
        - type: i64
          value: 0
      - type: identifier
        value: if
