element_t *parser (char *str, char **next, int prio)
{
element_t *root = NULL;
+ char *string = str;
int i;
VERBOSE (DEBUG, fprintf (stdout, "Starting parsing\n"));
*next = str;
}
+ /* save string */
+ root->string = string;
+
return root;
}
}
/* set string program */
- //rl_insert_text ((programs + n)->string);
- VERBOSE (INFO, fprintf (stdout, "edit: %s\n", (programs + n)->string));
+ fprintf (stdout, "edit: %s\n", (programs + n)->string);
}
-void save_string (int id, char *string)
+void savestring (int id, char *string)
{
int i, n = -1;
case While: return while_do (root->ops[0], root->ops[1]);
case Code: return execute_code (root->ops, root->nbops);
case Print: return print (op0);
- case Prog: prog ((int)op0, (int)op1, root->ops[2]); break;
+ case Prog:
+ prog ((int)op0, (int)op1, root->ops[2]);
+ savestring ((int)op0, root->string);
+ break;
case Call:
for (i = 1, nb =0; i < root->nbops; i++) {
if (root->ops[i]) {
double value;
int prio;
int hidden;
+ char *string;
} element_t;
#define ERROR_OP ((element_t *)(-1))
double evaluate_element (element_t *root, char mask);
-void save_string (int id, char *string);
-
/* completion functions */
char **generate_completion_list ();