-
Notifications
You must be signed in to change notification settings - Fork 0
/
SymboleValue.h
30 lines (22 loc) · 1.19 KB
/
SymboleValue.h
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
#ifndef SYMBOLEVALUE_H
#define SYMBOLEVALUE_H
#include <string.h>
#include <iostream>
using namespace std;
#include "Symbole.h"
#include "ArbreAbstrait.h"
class SymboleValue : public Symbole, // Un symbole valué est un symbole qui a une valeur (définie ou pas)
public Noeud { // et c'est aussi une feuille de l'arbre abstrait
public:
SymboleValue(const Symbole & s); // Construit un symbole valué à partir d'un symbole existant s
~SymboleValue( ) {}
int executer() override; // exécute le SymboleValue (revoie sa valeur !)
inline void setValeur(int valeur) { this->m_valeur=valeur; m_defini=true; } // accesseur
inline bool estDefini() { return m_defini; } // accesseur
void traduitEnCPP(ostream & cout,unsigned int indentation) const; // Traduit un symbole valué en CPP
friend ostream & operator << (ostream & cout, const SymboleValue & symbole); // affiche un symbole value sur cout
private:
bool m_defini; // indique si la valeur du symbole est définie
int m_valeur; // valeur du symbole si elle est définie, zéro sinon
};
#endif /* SYMBOLEVALUE_H */