interpretationMiniJaja
Class InterpretationMiniJaja

java.lang.Object
  |
  +--java.lang.Thread
        |
        +--interpretationMiniJaja.InterpretationMiniJaja
All Implemented Interfaces:
asa.ParserVisitor, java.lang.Runnable

public class InterpretationMiniJaja
extends java.lang.Thread
implements asa.ParserVisitor

Classe implémentant l'interpretation du MiniJaJa

Author:
Emmanuel Jeanvoine
See Also:
ParserVisitor

Field Summary
private  boolean finInterpretation
           
private  int ligneEnCours
           
private  memoire.EtatMemoire m
           
private  asa.SimpleNode rootNode
           
private  java.lang.String[] tabBreakPoints
           
private  boolean threadSuspended
           
 
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY
 
Constructor Summary
InterpretationMiniJaja(asa.SimpleNode n, java.lang.String s)
          Constructeur par défaut, le thread est démarré
 
Method Summary
 memoire.EtatMemoire getEtatMemoire()
          Récupère l'état mémoire en cours
 int getLigneEnCours()
          Donne la ligne sur laquelle l'interprétation est suspendue
 boolean interpretationTerminee()
          L'interpretation est-elle terminée?
 boolean isThreadSuspended()
          Le thread est-il suspendu ?
 void resumeThread()
          Reprise de l'exécution du thread
 void run()
          Corps d'exécution du thread
private  void setBreakPoints(asa.SimpleNode n, java.lang.String s)
           
private  void setBreakPointsRec(asa.SimpleNode n)
           
private  void stopThread(asa.SimpleNode node)
          Suspension de l'exécution du thread
 java.lang.Object visit(asa.ASTaffectation node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTanalyse node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTappelE node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTappelI node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTbooleen node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTclasse node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTcst node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTdecls node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTdiv node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTegal node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTenil node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTentete node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTentetes node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTentier node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTet node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTexnil node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTfaux node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTident node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTincrement node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTinil node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTinstrs node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTlistexp node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTmain node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTmethode node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTmoins node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTmulti node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTnbre node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTnon node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTomega node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTou node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTpgq node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTplus node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTretour node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTrien node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTsi node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTsomme node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTsoustrac node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTtableau node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTtab node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTtantque node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTvar node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTvars node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTvnil node, java.lang.Object data)
           
 java.lang.Object visit(asa.ASTvrai node, java.lang.Object data)
           
 java.lang.Object visit(asa.SimpleNode node, java.lang.Object data)
           
 
Methods inherited from class java.lang.Thread
activeCount, checkAccess, countStackFrames, currentThread, destroy, dumpStack, enumerate, getContextClassLoader, getName, getPriority, getThreadGroup, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, resume, setContextClassLoader, setDaemon, setName, setPriority, sleep, sleep, start, stop, stop, suspend, toString, yield
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Field Detail

m

private memoire.EtatMemoire m

rootNode

private asa.SimpleNode rootNode

tabBreakPoints

private java.lang.String[] tabBreakPoints

threadSuspended

private boolean threadSuspended

finInterpretation

private boolean finInterpretation

ligneEnCours

private int ligneEnCours
Constructor Detail

InterpretationMiniJaja

public InterpretationMiniJaja(asa.SimpleNode n,
                              java.lang.String s)
Constructeur par défaut, le thread est démarré

Method Detail

interpretationTerminee

public boolean interpretationTerminee()
L'interpretation est-elle terminée?

Returns:
true si terminée et false sinon

setBreakPointsRec

private void setBreakPointsRec(asa.SimpleNode n)

setBreakPoints

private void setBreakPoints(asa.SimpleNode n,
                            java.lang.String s)

resumeThread

public void resumeThread()
Reprise de l'exécution du thread


stopThread

private void stopThread(asa.SimpleNode node)
Suspension de l'exécution du thread

Parameters:
node - noeud courant sur lequel l'interpétation est suspendue

run

public void run()
Corps d'exécution du thread

Specified by:
run in interface java.lang.Runnable
Overrides:
run in class java.lang.Thread

getEtatMemoire

public memoire.EtatMemoire getEtatMemoire()
Récupère l'état mémoire en cours

Returns:
l'état mémoire de l'interpreteur

isThreadSuspended

public boolean isThreadSuspended()
Le thread est-il suspendu ?

Returns:
true si le thread est suspendu, false sinon

getLigneEnCours

public int getLigneEnCours()
Donne la ligne sur laquelle l'interprétation est suspendue

Returns:
le numéro de la ligne où l'interprétation est suspendue

visit

public java.lang.Object visit(asa.SimpleNode node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTanalyse node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTclasse node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTident node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTdecls node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTtableau node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTmethode node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTvar node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTcst node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTvars node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTmain node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTentetes node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTentete node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTinstrs node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTtab node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTaffectation node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTsomme node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTincrement node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTappelI node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTretour node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTsi node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTtantque node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTlistexp node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTnon node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTet node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTou node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTmoins node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTegal node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTpgq node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTplus node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTsoustrac node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTmulti node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTdiv node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTappelE node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTvrai node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTfaux node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTnbre node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTrien node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTentier node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTbooleen node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTvnil node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTomega node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTenil node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTinil node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor

visit

public java.lang.Object visit(asa.ASTexnil node,
                              java.lang.Object data)
Specified by:
visit in interface asa.ParserVisitor