fjsc: add math operations

darcs
chris.double 2006-12-11 13:57:54 +00:00
parent c9e8417f60
commit 44bee2c3b8
1 changed files with 32 additions and 0 deletions

View File

@ -5,6 +5,10 @@ function Factor() {
dup: function() { self.fjsc_dup(); },
drop: function() { self.fjsc_drop(); },
nip: function() { self.fjsc_nip(); },
"+": function() { self.fjsc_plus(); },
"-": function() { self.fjsc_minus(); },
"*": function() { self.fjsc_times(); },
"/": function() { self.fjsc_divide(); },
alert: function() { self.fjsc_alert(); }
};
}
@ -55,6 +59,34 @@ Factor.prototype.fjsc_nip = function() {
stack.push(v);
}
Factor.prototype.fjsc_plus = function() {
var stack = this.data_stack;
var v1 = stack.pop();
var v2 = stack.pop();
stack.push(v1+v2);
}
Factor.prototype.fjsc_minus = function() {
var stack = this.data_stack;
var v1 = stack.pop();
var v2 = stack.pop();
stack.push(v1-v2);
}
Factor.prototype.fjsc_times = function() {
var stack = this.data_stack;
var v1 = stack.pop();
var v2 = stack.pop();
stack.push(v1*v2);
}
Factor.prototype.fjsc_divide = function() {
var stack = this.data_stack;
var v1 = stack.pop();
var v2 = stack.pop();
stack.push(v2/v1);
}
Factor.prototype.fjsc_alert = function() {
alert(this.data_stack.pop());
}