1129 lines
19 KiB
YAML
1129 lines
19 KiB
YAML
# Kyler Olsen
|
|
# SLS Test Cases
|
|
# November 2025
|
|
|
|
# Could you now help me by creating test cases. Just start by naming any new categories I should have, then I will ask you to name new tests. Token strings should have their tokens listed with in their data
|
|
|
|
# - name: Test Name
|
|
# code: "Test Code"
|
|
# # Lexed tokens or lexer error
|
|
# tokens:
|
|
# - type: Token Type
|
|
# value: Token Value
|
|
# # Parsed operations or parsing error (if no lexer error)
|
|
# operations:
|
|
# - function: Operation Name
|
|
# # Final stack state and/or runtime error (if no lexer or parsing error)
|
|
# stack_final:
|
|
# - type: Stack Item Type
|
|
# value: Stack Item Value
|
|
# runtime_error:
|
|
# message: Error message.
|
|
|
|
- name: Empty_Statement
|
|
code: ""
|
|
tokens: []
|
|
operations: []
|
|
stack_final: []
|
|
|
|
# Basic Integers
|
|
|
|
- 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 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 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 Octal 0o755
|
|
code: "0o755"
|
|
tokens:
|
|
- type: i64
|
|
value: 493
|
|
operations:
|
|
- function: push
|
|
type: i64
|
|
value: 493
|
|
stack_final:
|
|
- type: i64
|
|
value: 493
|
|
|
|
- name: Integer i8 Decimal 127
|
|
code: "127:i8"
|
|
tokens:
|
|
- type: i8
|
|
value: 127
|
|
operations:
|
|
- function: push
|
|
type: i8
|
|
value: 127
|
|
stack_final:
|
|
- type: i8
|
|
value: 127
|
|
|
|
- name: Integer i8 Decimal -128
|
|
code: "-128:i8"
|
|
tokens:
|
|
- type: i8
|
|
value: -128
|
|
operations:
|
|
- function: push
|
|
type: i8
|
|
value: -128
|
|
stack_final:
|
|
- type: i8
|
|
value: -128
|
|
|
|
- name: Integer u8 Decimal 255
|
|
code: "255:u8"
|
|
tokens:
|
|
- type: u8
|
|
value: 255
|
|
operations:
|
|
- function: push
|
|
type: u8
|
|
value: 255
|
|
stack_final:
|
|
- type: u8
|
|
value: 255
|
|
|
|
- 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 Decimal with Commas Invalid
|
|
code: "1,000,000"
|
|
tokens:
|
|
- type: error
|
|
value: "Invalid decimal literal: unexpected ',' in decimal integer."
|
|
|
|
- name: Integer i8 Overflow
|
|
code: "128:i8"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer overflow: 128 exceeds range for i8."
|
|
|
|
- name: Integer i8 Underflow
|
|
code: "-129:i8"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -129 exceeds range for i8."
|
|
|
|
- name: Integer Default Invalid Characters
|
|
code: "12a3"
|
|
tokens:
|
|
- type: error
|
|
value: "Invalid decimal literal: unexpected 'a' in decimal integer."
|
|
|
|
- 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 Invalid Prefix
|
|
code: "0b2"
|
|
tokens:
|
|
- type: error
|
|
value: "Invalid binary literal: unexpected '2' in binary integer."
|
|
|
|
- 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
|
|
|
|
# Additional i64 (default) coverage
|
|
- 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: -9223372036854775808
|
|
operations:
|
|
- function: push
|
|
type: i64
|
|
value: -9223372036854775808
|
|
stack_final:
|
|
- type: i64
|
|
value: -9223372036854775808
|
|
|
|
- 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 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 Max Three Digits
|
|
code: "0o777"
|
|
tokens:
|
|
- type: i64
|
|
value: 511
|
|
operations:
|
|
- function: push
|
|
type: i64
|
|
value: 511
|
|
stack_final:
|
|
- type: i64
|
|
value: 511
|
|
|
|
# Explicit i64 coverage
|
|
- 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 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: "0b1010:i64"
|
|
tokens:
|
|
- type: i64
|
|
value: 10
|
|
operations:
|
|
- function: push
|
|
type: i64
|
|
value: 10
|
|
stack_final:
|
|
- type: i64
|
|
value: 10
|
|
|
|
- name: Integer i64 Octal
|
|
code: "0o755:i64"
|
|
tokens:
|
|
- type: i64
|
|
value: 493
|
|
operations:
|
|
- function: push
|
|
type: i64
|
|
value: 493
|
|
stack_final:
|
|
- type: i64
|
|
value: 493
|
|
|
|
- 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 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: -9223372036854775808
|
|
operations:
|
|
- function: push
|
|
type: i64
|
|
value: -9223372036854775808
|
|
stack_final:
|
|
- type: i64
|
|
value: -9223372036854775808
|
|
|
|
# i32 coverage
|
|
- 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 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: "0xABCD:i32"
|
|
tokens:
|
|
- type: i32
|
|
value: 43981
|
|
operations:
|
|
- function: push
|
|
type: i32
|
|
value: 43981
|
|
stack_final:
|
|
- type: i32
|
|
value: 43981
|
|
|
|
- name: Integer i32 Binary
|
|
code: "0b11110000:i32"
|
|
tokens:
|
|
- type: i32
|
|
value: 240
|
|
operations:
|
|
- function: push
|
|
type: i32
|
|
value: 240
|
|
stack_final:
|
|
- type: i32
|
|
value: 240
|
|
|
|
- name: Integer i32 Octal
|
|
code: "0o777:i32"
|
|
tokens:
|
|
- type: i32
|
|
value: 511
|
|
operations:
|
|
- function: push
|
|
type: i32
|
|
value: 511
|
|
stack_final:
|
|
- type: i32
|
|
value: 511
|
|
|
|
- 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: 2147483648 exceeds range for i32."
|
|
|
|
- name: Integer i32 Underflow
|
|
code: "-2147483649:i32"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -2147483649 exceeds range for i32."
|
|
|
|
# i16 coverage
|
|
- name: Integer i16 Decimal Positive
|
|
code: "1000:i16"
|
|
tokens:
|
|
- type: i16
|
|
value: 1000
|
|
operations:
|
|
- function: push
|
|
type: i16
|
|
value: 1000
|
|
stack_final:
|
|
- type: i16
|
|
value: 1000
|
|
|
|
- name: Integer i16 Decimal Negative
|
|
code: "-1000:i16"
|
|
tokens:
|
|
- type: i16
|
|
value: -1000
|
|
operations:
|
|
- function: push
|
|
type: i16
|
|
value: -1000
|
|
stack_final:
|
|
- type: i16
|
|
value: -1000
|
|
|
|
- name: Integer i16 Hex
|
|
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
|
|
code: "0b1111111100000000:i16"
|
|
tokens:
|
|
- type: i16
|
|
value: 65280
|
|
operations:
|
|
- function: push
|
|
type: i16
|
|
value: 65280
|
|
stack_final:
|
|
- type: i16
|
|
value: 65280
|
|
|
|
- name: Integer i16 Octal
|
|
code: "0o1234:i16"
|
|
tokens:
|
|
- type: i16
|
|
value: 668
|
|
operations:
|
|
- function: push
|
|
type: i16
|
|
value: 668
|
|
stack_final:
|
|
- type: i16
|
|
value: 668
|
|
|
|
- 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: 32768 exceeds range for i16."
|
|
|
|
- name: Integer i16 Underflow
|
|
code: "-32769:i16"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -32769 exceeds range for i16."
|
|
|
|
# i8 coverage (additional to existing)
|
|
- 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: "0b01111111:i8"
|
|
tokens:
|
|
- type: i8
|
|
value: 127
|
|
operations:
|
|
- function: push
|
|
type: i8
|
|
value: 127
|
|
stack_final:
|
|
- type: i8
|
|
value: 127
|
|
|
|
- name: Integer i8 Octal
|
|
code: "0o177:i8"
|
|
tokens:
|
|
- type: i8
|
|
value: 127
|
|
operations:
|
|
- function: push
|
|
type: i8
|
|
value: 127
|
|
stack_final:
|
|
- type: i8
|
|
value: 127
|
|
|
|
- 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 Negative Hex
|
|
code: "-0x80:i8"
|
|
tokens:
|
|
- type: i8
|
|
value: -128
|
|
operations:
|
|
- function: push
|
|
type: i8
|
|
value: -128
|
|
stack_final:
|
|
- type: i8
|
|
value: -128
|
|
|
|
# u64 coverage
|
|
- 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 u64 Hex
|
|
code: "0xFFFFFFFFFFFFFFFF:u64"
|
|
tokens:
|
|
- type: u64
|
|
value: 18446744073709551615
|
|
operations:
|
|
- function: push
|
|
type: u64
|
|
value: 18446744073709551615
|
|
stack_final:
|
|
- type: u64
|
|
value: 18446744073709551615
|
|
|
|
- name: Integer u64 Binary
|
|
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
|
|
code: "0o7777:u64"
|
|
tokens:
|
|
- type: u64
|
|
value: 4095
|
|
operations:
|
|
- function: push
|
|
type: u64
|
|
value: 4095
|
|
stack_final:
|
|
- type: u64
|
|
value: 4095
|
|
|
|
- name: Integer u64 Max Value
|
|
code: "18446744073709551615:u64"
|
|
tokens:
|
|
- type: u64
|
|
value: 18446744073709551615
|
|
operations:
|
|
- function: push
|
|
type: u64
|
|
value: 18446744073709551615
|
|
stack_final:
|
|
- type: u64
|
|
value: 18446744073709551615
|
|
|
|
- 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 Overflow
|
|
code: "18446744073709551616:u64"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer overflow: 18446744073709551616 exceeds range for u64."
|
|
|
|
- name: Integer u64 Negative Invalid
|
|
code: "-1:u64"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -1 exceeds range for u64."
|
|
|
|
# u32 coverage
|
|
- name: Integer u32 Decimal
|
|
code: "1000000:u32"
|
|
tokens:
|
|
- type: u32
|
|
value: 1000000
|
|
operations:
|
|
- function: push
|
|
type: u32
|
|
value: 1000000
|
|
stack_final:
|
|
- type: u32
|
|
value: 1000000
|
|
|
|
- name: Integer u32 Hex
|
|
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
|
|
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
|
|
code: "0o37777777777:u32"
|
|
tokens:
|
|
- type: u32
|
|
value: 4294967295
|
|
operations:
|
|
- function: push
|
|
type: u32
|
|
value: 4294967295
|
|
stack_final:
|
|
- type: u32
|
|
value: 4294967295
|
|
|
|
- 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 Overflow
|
|
code: "4294967296:u32"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer overflow: 4294967296 exceeds range for u32."
|
|
|
|
- name: Integer u32 Negative Invalid
|
|
code: "-1:u32"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -1 exceeds range for u32."
|
|
|
|
# u16 coverage
|
|
- name: Integer u16 Decimal
|
|
code: "50000:u16"
|
|
tokens:
|
|
- type: u16
|
|
value: 50000
|
|
operations:
|
|
- function: push
|
|
type: u16
|
|
value: 50000
|
|
stack_final:
|
|
- type: u16
|
|
value: 50000
|
|
|
|
- name: Integer u16 Hex
|
|
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
|
|
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
|
|
code: "0o177777:u16"
|
|
tokens:
|
|
- type: u16
|
|
value: 65535
|
|
operations:
|
|
- function: push
|
|
type: u16
|
|
value: 65535
|
|
stack_final:
|
|
- type: u16
|
|
value: 65535
|
|
|
|
- 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 Overflow
|
|
code: "65536:u16"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer overflow: 65536 exceeds range for u16."
|
|
|
|
- name: Integer u16 Negative Invalid
|
|
code: "-1:u16"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -1 exceeds range for u16."
|
|
|
|
# u8 coverage (additional to existing)
|
|
- 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: "0b11111111:u8"
|
|
tokens:
|
|
- type: u8
|
|
value: 255
|
|
operations:
|
|
- function: push
|
|
type: u8
|
|
value: 255
|
|
stack_final:
|
|
- type: u8
|
|
value: 255
|
|
|
|
- name: Integer u8 Octal
|
|
code: "0o377:u8"
|
|
tokens:
|
|
- type: u8
|
|
value: 255
|
|
operations:
|
|
- function: push
|
|
type: u8
|
|
value: 255
|
|
stack_final:
|
|
- type: u8
|
|
value: 255
|
|
|
|
- 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 Overflow
|
|
code: "256:u8"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer overflow: 256 exceeds range for u8."
|
|
|
|
- name: Integer u8 Negative Invalid
|
|
code: "-1:u8"
|
|
tokens:
|
|
- type: error
|
|
value: "Integer underflow: -1 exceeds range for u8."
|
|
|
|
# Edge cases with underscores in different bases
|
|
- 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
|
|
|
|
# Zero in different bases
|
|
- 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
|
|
|
|
# Basic Floats
|
|
# Basic Strings
|
|
# Basic Booleans
|
|
# Basic Identifiers
|
|
# Basic Identifier Literals
|
|
# Basic Arrays
|
|
# Basic Token Strings
|
|
# Stack Operations
|
|
# Arithmetic Operations
|
|
# Comparison Operations
|
|
# Logical Operations
|
|
# Bitwise Operations
|
|
# Function Definitions
|
|
# Lambda Functions
|
|
# Conditional Statements
|
|
# While Loops
|
|
# For Loops
|
|
# Match Statements
|
|
# Structs
|
|
# Unions
|
|
# Enums
|
|
# Array Operations
|
|
# Array Combinators
|
|
# Array Arithmetic
|
|
# Array Manipulation
|
|
# Type Inference
|
|
# Type Tuples
|
|
# Trait Definition
|
|
# Trait Implementation
|
|
# Trait Inheritance
|
|
# Stackable Trait
|
|
# Addable Trait
|
|
# Multiplyable Trait
|
|
# Exponentiable Trait
|
|
# Logarithmic Trait
|
|
# Number Trait
|
|
# Orderable Trait
|
|
# Equatable Trait
|
|
# Comparable Trait
|
|
# Logical Trait
|
|
# Bitwise Trait
|
|
# Sized Trait
|
|
# Selectable<T> Trait
|
|
# Sliceable Trait
|
|
# Concatenable Trait
|
|
# ArrayOf<T> Trait
|
|
# Iterable<T> Trait
|
|
# Convertible Trait
|
|
# Stringifiable Trait
|
|
# Parseable Trait
|
|
# String Trait
|
|
# Size Trait
|
|
# Identifier Trait
|
|
# Implementable Trait
|
|
# Generics
|
|
# Eval
|
|
# Std Lib IO
|
|
# Std Lib Strings
|
|
# Std Lib Type conversions
|
|
# Error Handling
|
|
# Reflection
|
|
|