Compare commits

...

2 Commits

12
asm.js
View File

@@ -58,7 +58,8 @@ class Tokenizer {
this.buffer.push(...src); this.buffer.push(...src);
let token; let token;
while (token = this.next()) { while (token = this.next()) {
if (token == this.comment_start) if (token.string == undefined
&& token.startsWith(this.comment_start))
this.comment = true; this.comment = true;
else if (this.comment && token == LINE_END) else if (this.comment && token == LINE_END)
this.comment = false; this.comment = false;
@@ -522,17 +523,13 @@ class Parser {
token_global_init(token) { token_global_init(token) {
if (token == LINE_END) { if (token == LINE_END) {
console.error( this.global.init = 0;
"ERROR: Unexpected newline in .global: expected"
+ " initial value");
this.global = undefined;
this.global_name = undefined;
this.state = State.TOP;
} else { } else {
const value = this.integer(token) ?? console.error( const value = this.integer(token) ?? console.error(
`ERROR: Unexpected token ${token} in .global: expected` `ERROR: Unexpected token ${token} in .global: expected`
+ " initial value"); + " initial value");
this.global.init = value; this.global.init = value;
}
const action = { const action = {
type: Action.GLOBAL, type: Action.GLOBAL,
global: { [this.global_name]: this.global } global: { [this.global_name]: this.global }
@@ -542,7 +539,6 @@ class Parser {
this.state = State.TOP; this.state = State.TOP;
return action; return action;
} }
}
token_at_mem(token) { token_at_mem(token) {
this.at = { mem: token }; this.at = { mem: token };