summaryrefslogtreecommitdiff
path: root/include/pile.h
blob: 086d1853060ca8ed7bb44bf29954dc736e39f302 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
#ifndef __PILE_H__
#define __PILE_H__
#include "polynom.h"

#define PILE_MAX 100

typedef enum type_elem {
    T_POLY,
    T_STRING,
    T_INT
} type_elem;

typedef struct pile_elem {
    type_elem type;
    polynome poly;
    char *label;
    int val;
} pile_elem;

void push_pile(char *st);

void push_pile_poly(polynome poly);

void push_pile_int(int val);

void push_pile_string(char *st);

pile_elem pop_pile(unsigned int count);

void flush_pile(void);

char *affichage_level_1(void);

int is_mute(char *st);

void act_pile(int func);

void affichage_pile(void);

void move_to_resultat_pile(void);

char *pop_resultat(void);

polynome return_last(int *valid);

int has_resultat(void);

#endif