summaryrefslogtreecommitdiff
path: root/lib/pile.c
diff options
context:
space:
mode:
authorbiouman <biouman>2001-05-02 01:14:42 +0000
committerbiouman <biouman>2001-05-02 01:14:42 +0000
commit4115cde1a2045658f66cf1ba09e42556ec3cb7a5 (patch)
tree2f93f4f1b3ab57729e778541c6caae100b387698 /lib/pile.c
parent5cc0d45db39afff3bceae05977c89709cf9dd30a (diff)
*** empty log message ***
Diffstat (limited to 'lib/pile.c')
-rw-r--r--lib/pile.c23
1 files changed, 23 insertions, 0 deletions
diff --git a/lib/pile.c b/lib/pile.c
index 5073127..8242b71 100644
--- a/lib/pile.c
+++ b/lib/pile.c
@@ -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;