Update of /cvsroot/bprocessor/bscript/src/net/sourceforge/bprocessor/model/evaluator
In directory sc8-pr-cvs3.sourceforge.net:/tmp/cvs-serv31054/src/net/sourceforge/bprocessor/model/evaluator
Modified Files:
Invokable.java Function.java Call.java
Log Message:
Improved scripting
Index: Function.java
===================================================================
RCS file: /cvsroot/bprocessor/bscript/src/net/sourceforge/bprocessor/model/evaluator/Function.java,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** Function.java 13 Sep 2006 13:36:32 -0000 1.4
--- Function.java 14 Sep 2006 09:21:46 -0000 1.5
***************
*** 73,87 ****
/**
! *
! * @return result
*/
! public Object evaluate(Environment env) {
Iterator iter = operations.iterator();
- Stack stack = new Stack();
while (iter.hasNext()) {
Operation current = (Operation) iter.next();
current.evaluate(env, stack);
}
- return stack.pop();
}
}
--- 73,85 ----
/**
! * @param env Environment
! * @param stack Stack
*/
! public void evaluate(Environment env, Stack stack) {
Iterator iter = operations.iterator();
while (iter.hasNext()) {
Operation current = (Operation) iter.next();
current.evaluate(env, stack);
}
}
}
Index: Invokable.java
===================================================================
RCS file: /cvsroot/bprocessor/bscript/src/net/sourceforge/bprocessor/model/evaluator/Invokable.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -C2 -d -r1.1 -r1.2
*** Invokable.java 12 Sep 2006 09:27:30 -0000 1.1
--- Invokable.java 14 Sep 2006 09:21:46 -0000 1.2
***************
*** 8,11 ****
--- 8,13 ----
package net.sourceforge.bprocessor.model.evaluator;
+ import java.util.Stack;
+
/**
* Invokable
***************
*** 13,19 ****
public interface Invokable {
/**
! *
! * @return result
*/
! public Object evaluate(Environment env);
}
--- 15,21 ----
public interface Invokable {
/**
! * @param env Environment
! * @param stack Stack
*/
! public void evaluate(Environment env, Stack stack);
}
Index: Call.java
===================================================================
RCS file: /cvsroot/bprocessor/bscript/src/net/sourceforge/bprocessor/model/evaluator/Call.java,v
retrieving revision 1.3
retrieving revision 1.4
diff -C2 -d -r1.3 -r1.4
*** Call.java 13 Sep 2006 13:36:32 -0000 1.3
--- Call.java 14 Sep 2006 09:21:46 -0000 1.4
***************
*** 61,66 ****
}
Environment activation = new Environment(env, locals, arguments);
! Object result = invokable.evaluate(activation);
! stack.push(result);
} else {
stack.push(name);
--- 61,65 ----
}
Environment activation = new Environment(env, locals, arguments);
! invokable.evaluate(activation, stack);
} else {
stack.push(name);
|