aboutsummaryrefslogtreecommitdiff
path: root/projects/12/StringTest/String.vm
diff options
context:
space:
mode:
authorYuchen Pei <me@ypei.me>2018-01-20 15:41:49 +0100
committerYuchen Pei <me@ypei.me>2018-01-20 15:41:49 +0100
commitd3a0cc3a8ba6dfeb64d3faeffdeb6845b60e5840 (patch)
treed58df9ec2480e2a9ec6240f9c797f83d1a0b1056 /projects/12/StringTest/String.vm
parent3571f998b28fbc8d9250ba04c983935f10a16c15 (diff)
rearranged the dir for github
- removed tools and pdfs - rearranged the projects dirs - added md files - other minor changes
Diffstat (limited to 'projects/12/StringTest/String.vm')
-rw-r--r--projects/12/StringTest/String.vm917
1 files changed, 0 insertions, 917 deletions
diff --git a/projects/12/StringTest/String.vm b/projects/12/StringTest/String.vm
deleted file mode 100644
index 36664c1..0000000
--- a/projects/12/StringTest/String.vm
+++ /dev/null
@@ -1,917 +0,0 @@
-function String.new 0
-push constant 3
-call Memory.alloc 1
-pop pointer 0
-push argument 0
-push constant 0
-gt
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push argument 0
-call Array.new 1
-pop this 2
-label IF_FALSE0
-push argument 0
-pop this 0
-push constant 0
-pop this 1
-push pointer 0
-return
-function String.dispose 0
-push argument 0
-pop pointer 0
-push this 0
-push constant 0
-gt
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push this 2
-call Array.dispose 1
-pop temp 0
-label IF_FALSE0
-push pointer 0
-call Memory.deAlloc 1
-pop temp 0
-push constant 0
-return
-function String.length 0
-push argument 0
-pop pointer 0
-push this 1
-return
-function String.charAt 0
-push argument 0
-pop pointer 0
-push argument 1
-push constant 0
-lt
-push argument 1
-push constant 1
-add
-push this 1
-gt
-or
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 34
-call String.new 1
-push constant 83
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 46
-call String.appendChar 2
-push constant 99
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 65
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 120
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 102
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call Output.printString 1
-pop temp 0
-push constant 5
-call Sys.error 1
-pop temp 0
-label IF_FALSE0
-push argument 1
-push this 2
-add
-pop pointer 1
-push that 0
-return
-function String.setCharAt 0
-push argument 0
-pop pointer 0
-push argument 1
-push constant 0
-lt
-push argument 1
-push constant 1
-add
-push this 1
-gt
-or
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 37
-call String.new 1
-push constant 83
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 46
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 67
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 65
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 120
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 102
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call Output.printString 1
-pop temp 0
-push constant 5
-call Sys.error 1
-pop temp 0
-label IF_FALSE0
-push argument 1
-push this 2
-add
-push argument 2
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push constant 0
-return
-function String.appendChar 0
-push argument 0
-pop pointer 0
-push this 1
-push this 0
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 38
-call String.new 1
-push constant 83
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 46
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 67
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 99
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 109
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 120
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call Output.printString 1
-pop temp 0
-push constant 5
-call Sys.error 1
-pop temp 0
-label IF_FALSE0
-push this 1
-push this 2
-add
-push argument 1
-pop temp 0
-pop pointer 1
-push temp 0
-pop that 0
-push this 1
-push constant 1
-add
-pop this 1
-push pointer 0
-return
-function String.eraseLastChar 0
-push argument 0
-pop pointer 0
-push this 1
-push constant 0
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 46
-call String.new 1
-push constant 83
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 46
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 76
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 67
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 121
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 109
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 121
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call Output.printString 1
-pop temp 0
-push constant 5
-call Sys.error 1
-pop temp 0
-label IF_FALSE0
-push this 1
-push constant 1
-sub
-pop this 1
-push constant 0
-return
-function String.intValue 5
-push argument 0
-pop pointer 0
-push constant 0
-pop local 0
-push constant 0
-push this 2
-add
-pop pointer 1
-push that 0
-push constant 45
-eq
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 1
-pop local 1
-push constant 0
-not
-pop local 3
-goto IF_END0
-label IF_FALSE0
-push constant 0
-pop local 1
-push constant 0
-pop local 3
-label IF_END0
-push local 1
-push this 2
-add
-pop pointer 1
-push that 0
-pop local 2
-push local 2
-push constant 48
-lt
-push local 2
-push constant 57
-gt
-or
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push constant 3
-call Sys.error 1
-pop temp 0
-push constant 46
-call String.new 1
-push constant 83
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 46
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 86
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 112
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 100
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 117
-call String.appendChar 2
-push constant 109
-call String.appendChar 2
-push constant 98
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call Output.printString 1
-pop temp 0
-label IF_FALSE1
-push constant 0
-pop local 4
-label WHILE_EXP0
-push local 4
-not
-push local 1
-push this 1
-lt
-and
-not
-if-goto WHILE_END0
-push local 1
-push this 2
-add
-pop pointer 1
-push that 0
-pop local 2
-push local 2
-push constant 47
-gt
-push local 2
-push constant 58
-lt
-and
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push local 0
-push constant 10
-call Math.multiply 2
-push local 2
-push constant 48
-sub
-add
-pop local 0
-goto IF_END2
-label IF_FALSE2
-push constant 0
-not
-pop local 4
-label IF_END2
-push local 1
-push constant 1
-add
-pop local 1
-goto WHILE_EXP0
-label WHILE_END0
-push local 3
-if-goto IF_TRUE3
-goto IF_FALSE3
-label IF_TRUE3
-push local 0
-neg
-return
-goto IF_END3
-label IF_FALSE3
-push local 0
-return
-label IF_END3
-function String.setInt 4
-push argument 0
-pop pointer 0
-push argument 1
-push constant 0
-lt
-if-goto IF_TRUE0
-goto IF_FALSE0
-label IF_TRUE0
-push constant 0
-not
-pop local 3
-push constant 2
-pop this 1
-goto IF_END0
-label IF_FALSE0
-push constant 0
-pop local 3
-push constant 1
-pop this 1
-label IF_END0
-push argument 1
-call Math.abs 1
-pop local 0
-push local 0
-push constant 9999
-gt
-if-goto IF_TRUE1
-goto IF_FALSE1
-label IF_TRUE1
-push this 1
-push constant 4
-add
-pop this 1
-goto IF_END1
-label IF_FALSE1
-push local 0
-push constant 999
-gt
-if-goto IF_TRUE2
-goto IF_FALSE2
-label IF_TRUE2
-push this 1
-push constant 3
-add
-pop this 1
-goto IF_END2
-label IF_FALSE2
-push local 0
-push constant 99
-gt
-if-goto IF_TRUE3
-goto IF_FALSE3
-label IF_TRUE3
-push this 1
-push constant 2
-add
-pop this 1
-goto IF_END3
-label IF_FALSE3
-push local 0
-push constant 9
-gt
-if-goto IF_TRUE4
-goto IF_FALSE4
-label IF_TRUE4
-push this 1
-push constant 1
-add
-pop this 1
-label IF_FALSE4
-label IF_END3
-label IF_END2
-label IF_END1
-push this 1
-push this 0
-gt
-if-goto IF_TRUE5
-goto IF_FALSE5
-label IF_TRUE5
-push constant 45
-call String.new 1
-push constant 83
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 46
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 73
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 58
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 118
-call String.appendChar 2
-push constant 97
-call String.appendChar 2
-push constant 108
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 98
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 102
-call String.appendChar 2
-push constant 111
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 104
-call String.appendChar 2
-push constant 101
-call String.appendChar 2
-push constant 32
-call String.appendChar 2
-push constant 115
-call String.appendChar 2
-push constant 116
-call String.appendChar 2
-push constant 114
-call String.appendChar 2
-push constant 105
-call String.appendChar 2
-push constant 110
-call String.appendChar 2
-push constant 103
-call String.appendChar 2
-push constant 33
-call String.appendChar 2
-call Output.printString 1
-pop temp 0
-push constant 5
-call Sys.error 1
-pop temp 0
-label IF_FALSE5
-push local 0
-push constant 0
-eq
-if-goto IF_TRUE6
-goto IF_FALSE6
-label IF_TRUE6
-push pointer 0
-push constant 0
-push constant 48
-call String.setCharAt 3
-pop temp 0
-push constant 0
-return
-label IF_FALSE6
-push local 3
-if-goto IF_TRUE7
-goto IF_FALSE7
-label IF_TRUE7
-push pointer 0
-push constant 0
-push constant 45
-call String.setCharAt 3
-pop temp 0
-label IF_FALSE7
-push this 1
-push constant 1
-sub
-pop local 1
-label WHILE_EXP0
-push local 0
-push constant 0
-gt
-not
-if-goto WHILE_END0
-push local 0
-push constant 10
-call Math.divide 2
-pop local 2
-push pointer 0
-push local 1
-push local 0
-push local 2
-push constant 10
-call Math.multiply 2
-sub
-push constant 48
-add
-call String.setCharAt 3
-pop temp 0
-push local 2
-pop local 0
-push local 1
-push constant 1
-sub
-pop local 1
-goto WHILE_EXP0
-label WHILE_END0
-push constant 0
-return
-function String.newLine 0
-push constant 128
-return
-function String.backSpace 0
-push constant 129
-return
-function String.doubleQuote 0
-push constant 34
-return