+// ========================================
+// RPN command code, written by divVerent
+// Last updated: December 28th, 2011
+// ========================================
+
string rpn_pop()
{
if(rpn_sp > 0) {
{
case CMD_REQUEST_COMMAND:
{
- float i, j, f, n, f2, f3, rpnpos;
- vector rgb;
- string s, s2, c, rpncmd;
+ float i, j, f, f2, f3, rpnpos;
+ //vector rgb;
+ string s, s2, rpncmd;
if(!rpn_db)
{
if(argc >= 2)
{
- float rpnpos;
- string rpncmd;
- float f2, f3;
rpn_sp = 0;
rpn_error = FALSE;
for(rpnpos = 1; rpnpos < argc; ++rpnpos)
i = stof(db_get(rpn_db, "stack.pointer"));
db_put(rpn_db, "stack.pointer", ftos(i+1));
db_put(rpn_db, strcat("stack.", ftos(i)), s);
+ if(!i)
+ db_put(rpn_db, "stack.pos", "0");
}
- if(!i)
- db_put(rpn_db, "stack.pos", "0");
} else if(rpncmd == "dbpop") {
i = stof(db_get(rpn_db, "stack.pointer"));
if(i)
default:
case CMD_REQUEST_USAGE:
{
- print(" rpn EXPRESSION... - a RPN calculator.\n");
+ print(strcat("\nUsage:^3 ", GetProgramCommandPrefix(), " rpn EXPRESSION...\n"));
print(" Operator description (x: string, s: set, f: float):\n");
print(" x pop -----------------------------> : removes the top\n");
print(" x dup -----------------------------> x x : duplicates the top\n");
return;
}
}
-}
\ No newline at end of file
+}