-
Notifications
You must be signed in to change notification settings - Fork 1
/
VisiteurCompiler.h
31 lines (25 loc) · 1.15 KB
/
VisiteurCompiler.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 VISITEURCOMPILER_H
#define VISITEURCOMPILER_H
#include "Visiteur.h"
// Cette classe permet de transpiler le code en Python3
class VisiteurCompiler : public Visiteur {
public:
VisiteurCompiler(std::ostream& out, int indentation);
void visiterProcedure(Procedure* procedure) override;
void visiterNoeudSeqInst(NoeudSeqInst* noeud) override;
void visiterNoeudAffectation(NoeudAffectation* noeud) override;
void visiterNoeudOperateurBinaire(NoeudOperateurBinaire* noeud) override;
void visiterNoeudInstSi(NoeudInstSi* noeud) override;
void visiterNoeudInstRepeter(NoeudInstRepeter* noeud) override;
void visiterNoeudInstPour(NoeudInstPour* noeud) override;
void visiterNoeudInstTantQue(NoeudInstTantQue* noeud) override;
void visiterNoeudInstLire(NoeudInstLire* noeud) override;
void visiterNoeudInstEcrire(NoeudInstEcrire* noeud) override;
void visiterNoeudInstAppel(NoeudInstAppel* noeud) override;
void visiterNoeudAlea(NoeudAlea* noeud) override;
void visiterSymboleValue(SymboleValue* symbole) override;
private:
std::ostream& m_out;
int m_indentation;
};
#endif /* VISITEURCOMPILER_H */