lvm.js

changeset 29
62f3df8ed204
parent 28
d14b47c3870f
child 30
10fd886c4e8a
equal deleted inserted replaced
28:d14b47c3870f 29:62f3df8ed204
12 var OP_CALL = 28; 12 var OP_CALL = 28;
13 var OP_RETURN = 30; 13 var OP_RETURN = 30;
14 var OP_CLOSURE = 36; 14 var OP_CLOSURE = 36;
15 15
16 var debugMode = false; 16 var debugMode = false;
17 var rawExceptions = true; 17 var rawExceptions = false;
18 18
19 function LValue(type, value) 19 function LValue(type, value)
20 { 20 {
21 this.type = type||"nil"; 21 this.type = type||"nil";
22 this.value = value||null; 22 this.value = value||null;
415 415
416 default_environment.setIndex(LValueFromString("print"), LValueFromFunction(print)); 416 default_environment.setIndex(LValueFromString("print"), LValueFromFunction(print));
417 417
418 var f = new LFunction(c, default_environment); 418 var f = new LFunction(c, default_environment);
419 419
420 if(rawExceptions) 420 try{
421 testvm.run(f); 421 testvm.run(f);
422 else 422 }
423 { 423 catch(e)
424 try{ 424 {
425 testvm.run(f); 425 print("Error: " + e);
426 } 426 if(stack in e)
427 catch(e) 427 print(e.stack);
428 { 428 }
429 print("Error: " + e);
430 }
431 }

mercurial