diff options
author | biouman <biouman> | 2001-05-02 01:14:42 +0000 |
---|---|---|
committer | biouman <biouman> | 2001-05-02 01:14:42 +0000 |
commit | 4115cde1a2045658f66cf1ba09e42556ec3cb7a5 (patch) | |
tree | 2f93f4f1b3ab57729e778541c6caae100b387698 /lib/pile.c | |
parent | 5cc0d45db39afff3bceae05977c89709cf9dd30a (diff) |
*** empty log message ***
Diffstat (limited to 'lib/pile.c')
-rw-r--r-- | lib/pile.c | 23 |
1 files changed, 23 insertions, 0 deletions
@@ -18,6 +18,8 @@ pile_elem result_pile[PILE_MAX]; unsigned int pile_ptr = 0; unsigned int result_pile_ptr = 0; +/* fonctions basiques sur la pile d operandes */ + void push_pile(char *st) { int valid1, valid2, valid3; @@ -140,6 +142,11 @@ void flush_pile(void) pile_ptr=0; } + + +/* fonctions basiques sur la pile de resultats */ + + void move_to_resultat_pile(void) { pile_elem temp; @@ -174,10 +181,26 @@ char * pop_resultat(void) return result; } + +polynome return_last(int *valid) +{ + if (!result_pile_ptr) { + *valid=0; + return NULL; + } else { + *valid=1; + return result_pile[result_pile_ptr--].poly; + } + +} + + int has_resultat(void) { return (result_pile_ptr ? 1 : 0); } +/* fonctions avancees sur la pile d operandes */ + char *affichage_level_1(void) { char *result = NULL; |