rascal 0.3.4

A parser and compiler for Flash ActionScript 2 files into SWFs
Documentation
---
source: crates/rascal/src/tests.rs
expression: result
input_file: samples/as2/delete.as
---
initializer:
  actions:
    - ConstantPool:
        - num
        - obj
        - "delete num: "
        - "delete obj: "
        - "delete obj.num: "
        - "delete obj.num + 1: "
        - "delete obj.num == \"number\" ? \":)\" : \":(\": "
        - ":("
        - ":)"
        - "delete obj.num + delete obj.num: "
        - trace
        - "delete obj.trace: "
        - "delete obj.trace(): "
    - Push:
        - Constant: 0
        - Integer: 1
    - DefineLocal
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Integer: 1
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 2
        - Constant: 0
    - Delete2
    - Add2
    - Trace
    - Push:
        - Constant: 3
        - Constant: 1
    - Delete2
    - Add2
    - Trace
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Integer: 1
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 4
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 0
    - Delete
    - Add2
    - Trace
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Integer: 1
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 5
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 0
    - Delete
    - Push:
        - Integer: 1
    - Add2
    - Add2
    - Trace
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Integer: 1
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 6
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 0
    - Delete
    - If: loc0001
    - Push:
        - Constant: 7
    - Jump: loc0000
    - Push:
        - Constant: 8
    - Add2
    - Trace
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Integer: 1
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 9
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 0
    - Delete
    - Push:
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 0
    - Delete
    - Add2
    - Add2
    - Trace
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Constant: 10
        - Constant: 10
    - GetVariable
    - Push:
        - Integer: 2
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 11
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 10
    - Delete
    - Add2
    - Trace
    - Push:
        - Constant: 1
        - Constant: 0
        - Integer: 1
        - Constant: 10
        - Constant: 10
    - GetVariable
    - Push:
        - Integer: 2
    - InitObject
    - DefineLocal
    - Push:
        - Constant: 12
        - Integer: 0
        - Constant: 1
    - GetVariable
    - Push:
        - Constant: 10
    - CallMethod
    - Delete2
    - Add2
    - Trace
  label_positions:
    loc0001: 44
    loc0000: 45
extra_modules: []
compile_options:
  swf_version: 15
  optimizations:
    fold_constants: true
    promote_variables_to_registers: true
custom_pcodes: []