Rename the IO.write method to IO.print, which now prints without a trailing newline, and add a new IO.print method that appends a newline after output. Update all benchmark, example, and test files to use IO.print instead of IO.write. Additionally, implement Unicode escape sequence parsing in the compiler's string tokenizer, supporting \uXXXX and \u{...} syntax with proper UTF-8 encoding for code points up to U+10FFFF.
525 lines
9.8 KiB
Plaintext
525 lines
9.8 KiB
Plaintext
// Can have more than 256 local variables in a local scope, as long as they
|
|
// aren't all in scope at the same time.
|
|
|
|
{
|
|
{
|
|
var a0 = "value a"
|
|
var a1 = a0
|
|
var a2 = a1
|
|
var a3 = a2
|
|
var a4 = a3
|
|
var a5 = a4
|
|
var a6 = a5
|
|
var a7 = a6
|
|
var a8 = a7
|
|
var a9 = a8
|
|
var a10 = a9
|
|
var a11 = a10
|
|
var a12 = a11
|
|
var a13 = a12
|
|
var a14 = a13
|
|
var a15 = a14
|
|
var a16 = a15
|
|
var a17 = a16
|
|
var a18 = a17
|
|
var a19 = a18
|
|
var a20 = a19
|
|
var a21 = a20
|
|
var a22 = a21
|
|
var a23 = a22
|
|
var a24 = a23
|
|
var a25 = a24
|
|
var a26 = a25
|
|
var a27 = a26
|
|
var a28 = a27
|
|
var a29 = a28
|
|
var a30 = a29
|
|
var a31 = a30
|
|
var a32 = a31
|
|
var a33 = a32
|
|
var a34 = a33
|
|
var a35 = a34
|
|
var a36 = a35
|
|
var a37 = a36
|
|
var a38 = a37
|
|
var a39 = a38
|
|
var a40 = a39
|
|
var a41 = a40
|
|
var a42 = a41
|
|
var a43 = a42
|
|
var a44 = a43
|
|
var a45 = a44
|
|
var a46 = a45
|
|
var a47 = a46
|
|
var a48 = a47
|
|
var a49 = a48
|
|
var a50 = a49
|
|
var a51 = a50
|
|
var a52 = a51
|
|
var a53 = a52
|
|
var a54 = a53
|
|
var a55 = a54
|
|
var a56 = a55
|
|
var a57 = a56
|
|
var a58 = a57
|
|
var a59 = a58
|
|
var a60 = a59
|
|
var a61 = a60
|
|
var a62 = a61
|
|
var a63 = a62
|
|
var a64 = a63
|
|
var a65 = a64
|
|
var a66 = a65
|
|
var a67 = a66
|
|
var a68 = a67
|
|
var a69 = a68
|
|
var a70 = a69
|
|
var a71 = a70
|
|
var a72 = a71
|
|
var a73 = a72
|
|
var a74 = a73
|
|
var a75 = a74
|
|
var a76 = a75
|
|
var a77 = a76
|
|
var a78 = a77
|
|
var a79 = a78
|
|
var a80 = a79
|
|
var a81 = a80
|
|
var a82 = a81
|
|
var a83 = a82
|
|
var a84 = a83
|
|
var a85 = a84
|
|
var a86 = a85
|
|
var a87 = a86
|
|
var a88 = a87
|
|
var a89 = a88
|
|
var a90 = a89
|
|
var a91 = a90
|
|
var a92 = a91
|
|
var a93 = a92
|
|
var a94 = a93
|
|
var a95 = a94
|
|
var a96 = a95
|
|
var a97 = a96
|
|
var a98 = a97
|
|
var a99 = a98
|
|
var a100 = a99
|
|
var a101 = a100
|
|
var a102 = a101
|
|
var a103 = a102
|
|
var a104 = a103
|
|
var a105 = a104
|
|
var a106 = a105
|
|
var a107 = a106
|
|
var a108 = a107
|
|
var a109 = a108
|
|
var a110 = a109
|
|
var a111 = a110
|
|
var a112 = a111
|
|
var a113 = a112
|
|
var a114 = a113
|
|
var a115 = a114
|
|
var a116 = a115
|
|
var a117 = a116
|
|
var a118 = a117
|
|
var a119 = a118
|
|
var a120 = a119
|
|
var a121 = a120
|
|
var a122 = a121
|
|
var a123 = a122
|
|
var a124 = a123
|
|
var a125 = a124
|
|
var a126 = a125
|
|
var a127 = a126
|
|
var a128 = a127
|
|
var a129 = a128
|
|
var a130 = a129
|
|
var a131 = a130
|
|
var a132 = a131
|
|
var a133 = a132
|
|
var a134 = a133
|
|
var a135 = a134
|
|
var a136 = a135
|
|
var a137 = a136
|
|
var a138 = a137
|
|
var a139 = a138
|
|
var a140 = a139
|
|
var a141 = a140
|
|
var a142 = a141
|
|
var a143 = a142
|
|
var a144 = a143
|
|
var a145 = a144
|
|
var a146 = a145
|
|
var a147 = a146
|
|
var a148 = a147
|
|
var a149 = a148
|
|
var a150 = a149
|
|
var a151 = a150
|
|
var a152 = a151
|
|
var a153 = a152
|
|
var a154 = a153
|
|
var a155 = a154
|
|
var a156 = a155
|
|
var a157 = a156
|
|
var a158 = a157
|
|
var a159 = a158
|
|
var a160 = a159
|
|
var a161 = a160
|
|
var a162 = a161
|
|
var a163 = a162
|
|
var a164 = a163
|
|
var a165 = a164
|
|
var a166 = a165
|
|
var a167 = a166
|
|
var a168 = a167
|
|
var a169 = a168
|
|
var a170 = a169
|
|
var a171 = a170
|
|
var a172 = a171
|
|
var a173 = a172
|
|
var a174 = a173
|
|
var a175 = a174
|
|
var a176 = a175
|
|
var a177 = a176
|
|
var a178 = a177
|
|
var a179 = a178
|
|
var a180 = a179
|
|
var a181 = a180
|
|
var a182 = a181
|
|
var a183 = a182
|
|
var a184 = a183
|
|
var a185 = a184
|
|
var a186 = a185
|
|
var a187 = a186
|
|
var a188 = a187
|
|
var a189 = a188
|
|
var a190 = a189
|
|
var a191 = a190
|
|
var a192 = a191
|
|
var a193 = a192
|
|
var a194 = a193
|
|
var a195 = a194
|
|
var a196 = a195
|
|
var a197 = a196
|
|
var a198 = a197
|
|
var a199 = a198
|
|
var a200 = a199
|
|
var a201 = a200
|
|
var a202 = a201
|
|
var a203 = a202
|
|
var a204 = a203
|
|
var a205 = a204
|
|
var a206 = a205
|
|
var a207 = a206
|
|
var a208 = a207
|
|
var a209 = a208
|
|
var a210 = a209
|
|
var a211 = a210
|
|
var a212 = a211
|
|
var a213 = a212
|
|
var a214 = a213
|
|
var a215 = a214
|
|
var a216 = a215
|
|
var a217 = a216
|
|
var a218 = a217
|
|
var a219 = a218
|
|
var a220 = a219
|
|
var a221 = a220
|
|
var a222 = a221
|
|
var a223 = a222
|
|
var a224 = a223
|
|
var a225 = a224
|
|
var a226 = a225
|
|
var a227 = a226
|
|
var a228 = a227
|
|
var a229 = a228
|
|
var a230 = a229
|
|
var a231 = a230
|
|
var a232 = a231
|
|
var a233 = a232
|
|
var a234 = a233
|
|
var a235 = a234
|
|
var a236 = a235
|
|
var a237 = a236
|
|
var a238 = a237
|
|
var a239 = a238
|
|
var a240 = a239
|
|
var a241 = a240
|
|
var a242 = a241
|
|
var a243 = a242
|
|
var a244 = a243
|
|
var a245 = a244
|
|
var a246 = a245
|
|
var a247 = a246
|
|
var a248 = a247
|
|
var a249 = a248
|
|
var a250 = a249
|
|
var a251 = a250
|
|
var a252 = a251
|
|
var a253 = a252
|
|
var a254 = a253
|
|
var a255 = a254
|
|
IO.print(a255) // expect: value a
|
|
}
|
|
|
|
{
|
|
var b0 = "value b"
|
|
var b1 = b0
|
|
var b2 = b1
|
|
var b3 = b2
|
|
var b4 = b3
|
|
var b5 = b4
|
|
var b6 = b5
|
|
var b7 = b6
|
|
var b8 = b7
|
|
var b9 = b8
|
|
var b10 = b9
|
|
var b11 = b10
|
|
var b12 = b11
|
|
var b13 = b12
|
|
var b14 = b13
|
|
var b15 = b14
|
|
var b16 = b15
|
|
var b17 = b16
|
|
var b18 = b17
|
|
var b19 = b18
|
|
var b20 = b19
|
|
var b21 = b20
|
|
var b22 = b21
|
|
var b23 = b22
|
|
var b24 = b23
|
|
var b25 = b24
|
|
var b26 = b25
|
|
var b27 = b26
|
|
var b28 = b27
|
|
var b29 = b28
|
|
var b30 = b29
|
|
var b31 = b30
|
|
var b32 = b31
|
|
var b33 = b32
|
|
var b34 = b33
|
|
var b35 = b34
|
|
var b36 = b35
|
|
var b37 = b36
|
|
var b38 = b37
|
|
var b39 = b38
|
|
var b40 = b39
|
|
var b41 = b40
|
|
var b42 = b41
|
|
var b43 = b42
|
|
var b44 = b43
|
|
var b45 = b44
|
|
var b46 = b45
|
|
var b47 = b46
|
|
var b48 = b47
|
|
var b49 = b48
|
|
var b50 = b49
|
|
var b51 = b50
|
|
var b52 = b51
|
|
var b53 = b52
|
|
var b54 = b53
|
|
var b55 = b54
|
|
var b56 = b55
|
|
var b57 = b56
|
|
var b58 = b57
|
|
var b59 = b58
|
|
var b60 = b59
|
|
var b61 = b60
|
|
var b62 = b61
|
|
var b63 = b62
|
|
var b64 = b63
|
|
var b65 = b64
|
|
var b66 = b65
|
|
var b67 = b66
|
|
var b68 = b67
|
|
var b69 = b68
|
|
var b70 = b69
|
|
var b71 = b70
|
|
var b72 = b71
|
|
var b73 = b72
|
|
var b74 = b73
|
|
var b75 = b74
|
|
var b76 = b75
|
|
var b77 = b76
|
|
var b78 = b77
|
|
var b79 = b78
|
|
var b80 = b79
|
|
var b81 = b80
|
|
var b82 = b81
|
|
var b83 = b82
|
|
var b84 = b83
|
|
var b85 = b84
|
|
var b86 = b85
|
|
var b87 = b86
|
|
var b88 = b87
|
|
var b89 = b88
|
|
var b90 = b89
|
|
var b91 = b90
|
|
var b92 = b91
|
|
var b93 = b92
|
|
var b94 = b93
|
|
var b95 = b94
|
|
var b96 = b95
|
|
var b97 = b96
|
|
var b98 = b97
|
|
var b99 = b98
|
|
var b100 = b99
|
|
var b101 = b100
|
|
var b102 = b101
|
|
var b103 = b102
|
|
var b104 = b103
|
|
var b105 = b104
|
|
var b106 = b105
|
|
var b107 = b106
|
|
var b108 = b107
|
|
var b109 = b108
|
|
var b110 = b109
|
|
var b111 = b110
|
|
var b112 = b111
|
|
var b113 = b112
|
|
var b114 = b113
|
|
var b115 = b114
|
|
var b116 = b115
|
|
var b117 = b116
|
|
var b118 = b117
|
|
var b119 = b118
|
|
var b120 = b119
|
|
var b121 = b120
|
|
var b122 = b121
|
|
var b123 = b122
|
|
var b124 = b123
|
|
var b125 = b124
|
|
var b126 = b125
|
|
var b127 = b126
|
|
var b128 = b127
|
|
var b129 = b128
|
|
var b130 = b129
|
|
var b131 = b130
|
|
var b132 = b131
|
|
var b133 = b132
|
|
var b134 = b133
|
|
var b135 = b134
|
|
var b136 = b135
|
|
var b137 = b136
|
|
var b138 = b137
|
|
var b139 = b138
|
|
var b140 = b139
|
|
var b141 = b140
|
|
var b142 = b141
|
|
var b143 = b142
|
|
var b144 = b143
|
|
var b145 = b144
|
|
var b146 = b145
|
|
var b147 = b146
|
|
var b148 = b147
|
|
var b149 = b148
|
|
var b150 = b149
|
|
var b151 = b150
|
|
var b152 = b151
|
|
var b153 = b152
|
|
var b154 = b153
|
|
var b155 = b154
|
|
var b156 = b155
|
|
var b157 = b156
|
|
var b158 = b157
|
|
var b159 = b158
|
|
var b160 = b159
|
|
var b161 = b160
|
|
var b162 = b161
|
|
var b163 = b162
|
|
var b164 = b163
|
|
var b165 = b164
|
|
var b166 = b165
|
|
var b167 = b166
|
|
var b168 = b167
|
|
var b169 = b168
|
|
var b170 = b169
|
|
var b171 = b170
|
|
var b172 = b171
|
|
var b173 = b172
|
|
var b174 = b173
|
|
var b175 = b174
|
|
var b176 = b175
|
|
var b177 = b176
|
|
var b178 = b177
|
|
var b179 = b178
|
|
var b180 = b179
|
|
var b181 = b180
|
|
var b182 = b181
|
|
var b183 = b182
|
|
var b184 = b183
|
|
var b185 = b184
|
|
var b186 = b185
|
|
var b187 = b186
|
|
var b188 = b187
|
|
var b189 = b188
|
|
var b190 = b189
|
|
var b191 = b190
|
|
var b192 = b191
|
|
var b193 = b192
|
|
var b194 = b193
|
|
var b195 = b194
|
|
var b196 = b195
|
|
var b197 = b196
|
|
var b198 = b197
|
|
var b199 = b198
|
|
var b200 = b199
|
|
var b201 = b200
|
|
var b202 = b201
|
|
var b203 = b202
|
|
var b204 = b203
|
|
var b205 = b204
|
|
var b206 = b205
|
|
var b207 = b206
|
|
var b208 = b207
|
|
var b209 = b208
|
|
var b210 = b209
|
|
var b211 = b210
|
|
var b212 = b211
|
|
var b213 = b212
|
|
var b214 = b213
|
|
var b215 = b214
|
|
var b216 = b215
|
|
var b217 = b216
|
|
var b218 = b217
|
|
var b219 = b218
|
|
var b220 = b219
|
|
var b221 = b220
|
|
var b222 = b221
|
|
var b223 = b222
|
|
var b224 = b223
|
|
var b225 = b224
|
|
var b226 = b225
|
|
var b227 = b226
|
|
var b228 = b227
|
|
var b229 = b228
|
|
var b230 = b229
|
|
var b231 = b230
|
|
var b232 = b231
|
|
var b233 = b232
|
|
var b234 = b233
|
|
var b235 = b234
|
|
var b236 = b235
|
|
var b237 = b236
|
|
var b238 = b237
|
|
var b239 = b238
|
|
var b240 = b239
|
|
var b241 = b240
|
|
var b242 = b241
|
|
var b243 = b242
|
|
var b244 = b243
|
|
var b245 = b244
|
|
var b246 = b245
|
|
var b247 = b246
|
|
var b248 = b247
|
|
var b249 = b248
|
|
var b250 = b249
|
|
var b251 = b250
|
|
var b252 = b251
|
|
var b253 = b252
|
|
var b254 = b253
|
|
var b255 = b254
|
|
IO.print(b255) // expect: value b
|
|
}
|
|
}
|