---
source: crates/rascal/src/tests.rs
expression: result
input_file: samples/as2/operators.as
---
initializer:
actions:
- ConstantPool:
- a
- b
- "a + b = "
- "a - b = "
- "a * b = "
- "a / b = "
- "a % b = "
- "++a = "
- "--a = "
- "a++ = "
- "a-- = "
- hello
- Hello
- world
- World
- "hello + \" \" + world = "
- " "
- x
- "x = "
- "x += 2 => "
- "x -= 2 => "
- "x *= 3 => "
- "x /= 5 => "
- "x %= 2 => "
- five
- three
- "five & three = "
- "five | three = "
- "five ^ three = "
- "~five = "
- "five << 1 = "
- "five >> 1 = "
- "five >>> 1 = "
- "five &= three => "
- "five |= three => "
- "five ^= three => "
- "five <<= 1 => "
- "five >>= 1 => "
- "five >>>= 1 => "
- six
- seven
- sevenStr
- "7"
- "six == seven: "
- "six != seven: "
- "six < seven: "
- "six <= seven: "
- "six > seven: "
- "six >= seven: "
- "sevenStr == seven: "
- "sevenStr === seven: "
- "sevenStr !== seven: "
- t
- f
- "t && f: "
- "t || f: "
- "!t: "
- max
- "(a > b) ? a : b = "
- obj
- key
- value
- "obj instanceof Object: "
- Object
- Push:
- Constant: 0
- Integer: 10
- DefineLocal
- Push:
- Constant: 1
- Integer: 3
- DefineLocal
- Push:
- Constant: 2
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 3
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Subtract
- Add2
- Trace
- Push:
- Constant: 4
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Multiply
- Add2
- Trace
- Push:
- Constant: 5
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Divide
- Add2
- Trace
- Push:
- Constant: 6
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Modulo
- Add2
- Trace
- Push:
- Constant: 7
- Constant: 0
- Constant: 0
- GetVariable
- Increment
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 8
- Constant: 0
- Constant: 0
- GetVariable
- Decrement
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 9
- Constant: 0
- GetVariable
- Push:
- Constant: 0
- Constant: 0
- GetVariable
- Increment
- SetVariable
- Add2
- Trace
- Push:
- Constant: 10
- Constant: 0
- GetVariable
- Push:
- Constant: 0
- Constant: 0
- GetVariable
- Decrement
- SetVariable
- Add2
- Trace
- Push:
- Constant: 11
- Constant: 12
- DefineLocal
- Push:
- Constant: 13
- Constant: 14
- DefineLocal
- Push:
- Constant: 15
- Constant: 11
- GetVariable
- Push:
- Constant: 16
- Add2
- Push:
- Constant: 13
- GetVariable
- Add2
- Add2
- Trace
- Push:
- Constant: 17
- Integer: 5
- DefineLocal
- Push:
- Constant: 18
- Constant: 17
- GetVariable
- Add2
- Trace
- Push:
- Constant: 19
- Constant: 17
- Constant: 17
- GetVariable
- Push:
- Integer: 2
- Add2
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 20
- Constant: 17
- Constant: 17
- GetVariable
- Push:
- Integer: 2
- Subtract
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 21
- Constant: 17
- Constant: 17
- GetVariable
- Push:
- Integer: 3
- Multiply
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 22
- Constant: 17
- Constant: 17
- GetVariable
- Push:
- Integer: 5
- Divide
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 23
- Constant: 17
- Constant: 17
- GetVariable
- Push:
- Integer: 2
- Modulo
- StoreRegister: 0
- SetVariable
- Push:
- Register: 0
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- DefineLocal
- Push:
- Constant: 25
- Integer: 3
- DefineLocal
- Push:
- Constant: 26
- Constant: 24
- GetVariable
- Push:
- Constant: 25
- GetVariable
- BitAnd
- Add2
- Trace
- Push:
- Constant: 27
- Constant: 24
- GetVariable
- Push:
- Constant: 25
- GetVariable
- BitOr
- Add2
- Trace
- Push:
- Constant: 28
- Constant: 24
- GetVariable
- Push:
- Constant: 25
- GetVariable
- BitXor
- Add2
- Trace
- Push:
- Constant: 29
- Constant: 24
- GetVariable
- Push:
- Float: 4294967295
- BitXor
- Add2
- Trace
- Push:
- Constant: 30
- Constant: 24
- GetVariable
- Push:
- Integer: 1
- BitLShift
- Add2
- Trace
- Push:
- Constant: 31
- Constant: 24
- GetVariable
- Push:
- Integer: 1
- BitRShift
- Add2
- Trace
- Push:
- Constant: 32
- Constant: 24
- GetVariable
- Push:
- Integer: 1
- BitURShift
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- SetVariable
- Push:
- Constant: 24
- Constant: 24
- GetVariable
- Push:
- Constant: 25
- GetVariable
- BitAnd
- SetVariable
- Push:
- Constant: 33
- Constant: 24
- GetVariable
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- SetVariable
- Push:
- Constant: 24
- Constant: 24
- GetVariable
- Push:
- Constant: 25
- GetVariable
- BitOr
- SetVariable
- Push:
- Constant: 34
- Constant: 24
- GetVariable
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- SetVariable
- Push:
- Constant: 24
- Constant: 24
- GetVariable
- Push:
- Constant: 25
- GetVariable
- BitXor
- SetVariable
- Push:
- Constant: 35
- Constant: 24
- GetVariable
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- SetVariable
- Push:
- Constant: 24
- Constant: 24
- GetVariable
- Push:
- Integer: 1
- BitLShift
- SetVariable
- Push:
- Constant: 36
- Constant: 24
- GetVariable
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- SetVariable
- Push:
- Constant: 24
- Constant: 24
- GetVariable
- Push:
- Integer: 1
- BitRShift
- SetVariable
- Push:
- Constant: 37
- Constant: 24
- GetVariable
- Add2
- Trace
- Push:
- Constant: 24
- Integer: 5
- SetVariable
- Push:
- Constant: 24
- Constant: 24
- GetVariable
- Push:
- Integer: 1
- BitURShift
- SetVariable
- Push:
- Constant: 38
- Constant: 24
- GetVariable
- Add2
- Trace
- Push:
- Constant: 39
- Integer: 6
- DefineLocal
- Push:
- Constant: 40
- Integer: 7
- DefineLocal
- Push:
- Constant: 41
- Constant: 42
- DefineLocal
- Push:
- Constant: 43
- Constant: 39
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Equals2
- Add2
- Trace
- Push:
- Constant: 44
- Constant: 39
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Equals2
- Not
- Add2
- Trace
- Push:
- Constant: 45
- Constant: 39
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Less2
- Add2
- Trace
- Push:
- Constant: 46
- Constant: 39
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Greater
- Not
- Add2
- Trace
- Push:
- Constant: 47
- Constant: 39
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Greater
- Add2
- Trace
- Push:
- Constant: 48
- Constant: 39
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Less2
- Not
- Add2
- Trace
- Push:
- Constant: 49
- Constant: 41
- GetVariable
- Push:
- Constant: 40
- GetVariable
- Equals2
- Add2
- Trace
- Push:
- Constant: 50
- Constant: 41
- GetVariable
- Push:
- Constant: 40
- GetVariable
- StrictEquals
- Add2
- Trace
- Push:
- Constant: 51
- Constant: 41
- GetVariable
- Push:
- Constant: 40
- GetVariable
- StrictEquals
- Not
- Add2
- Trace
- Push:
- Constant: 52
- "True"
- DefineLocal
- Push:
- Constant: 53
- "False"
- DefineLocal
- Push:
- Constant: 54
- Constant: 52
- GetVariable
- PushDuplicate
- Not
- If: loc0000
- Pop
- Push:
- Constant: 53
- GetVariable
- Add2
- Trace
- Push:
- Constant: 55
- Constant: 52
- GetVariable
- PushDuplicate
- If: loc0001
- Pop
- Push:
- Constant: 53
- GetVariable
- Add2
- Trace
- Push:
- Constant: 56
- Constant: 52
- GetVariable
- Not
- Add2
- Trace
- Push:
- Constant: 57
- Constant: 0
- GetVariable
- Push:
- Constant: 1
- GetVariable
- Greater
- If: loc0003
- Push:
- Constant: 1
- GetVariable
- Jump: loc0002
- Push:
- Constant: 0
- GetVariable
- DefineLocal
- Push:
- Constant: 58
- Constant: 57
- GetVariable
- Add2
- Trace
- Push:
- Constant: 59
- Constant: 60
- Constant: 61
- Integer: 1
- InitObject
- DefineLocal
- Push:
- Constant: 62
- Constant: 59
- GetVariable
- Push:
- Constant: 63
- GetVariable
- InstanceOf
- Add2
- Trace
label_positions:
loc0000: 339
loc0001: 348
loc0003: 364
loc0002: 366
extra_modules: []
compile_options:
swf_version: 15
optimizations:
fold_constants: true
promote_variables_to_registers: true
custom_pcodes: []