Interesting. I had no idea that labels(1) could be used in such a fashion (edit: oh, I see... eval). Kudos.
Does the code support inheritance?
Instead of doing this:
Code:
this.api=(Crass(eval(Crass(arguments,this))));
Could the following work:
Code:
runCrass (arguments, this);
where runCrass is defined as
function runCrass (args, self) {
self.api=(Crass(eval(Crass(args,self))));
}
(1) A label is the following:
Code:
label: statementOrControl;