cemu
Class Executor

java.lang.Object
  extended by cemu.Executor

public class Executor
extends java.lang.Object

Klasa odpowiedzialana za interpretacje kodu programu uzytkownika


Field Summary
private  int _pRAM
          'wskanik' na ostania wykorzystywana komorke pamieci operacyjnej
private  int _pREG
          'wskanik' na ostani wykorzystywany rejestr
private  double[] _RAM
          implementacja pamieci operacyjnej
private  double[] _REG
          implementacja rejestrow
private  int _sizeRAM
          rozmiar tabicy do pamieci operacyjnej
private  int _sizeREG
          rozmiar tabicy do implementacji rejestrow
(package private)  int ELSEpos
          pozycja slowa ELSE
static int lexemCount
          wielkosc tablicy leksemow
(package private)  java.lang.String[] lexems
          tablica leksemow
(package private)  int variableCount
          rozmiar tabllicy zmiennych
(package private)  Variables[] variables
          tablica zmiennych
private  boolean view
          czy pokazywac zawartosc pamieci RAM
 
Constructor Summary
Executor()
           
 
Method Summary
private  void alocationVariables()
          alokacja zasobow pod zmienne uzywane w programie
private  void arytmeticInstruction(int from, int to)
          wykonywnie instrukcji arytmetycznych, wej-wyj, instrukcji pustych
private  void fileWrite()
          zapis wynikow dzialania executora na tablicy lexems do pliku kontrolnego
private  void findInstruction(int from, int to)
          odnajdowanie poczatku i konca kolejnych istrukcji
private  void ifInstruction(int from, int to)
          wykonywanie instrukcji IF (pozycja w tablicy leksemow)
 void init()
          funkcja inicjujaca zmienne klasy executor
private  void initRAM()
          inicjalizacja pamieci RAM
 boolean isNumber(java.lang.String s)
          sprawdzanie czy leksem jest liczba
private  void prepareLexems()
          czyszczenie tablicy leksems....
private  void replaceVariableName()
          zamiana nazw zmiennych na intepretowane przez executor'a
 void setLexems(java.lang.String[] lexems, int count)
          utawianie tablicy przechowujacej leksemy
 void setVariables(Variables[] variables, int count)
          utawianie tablicy przechowujacej uzywane zmienne
 void setView(boolean view)
          ustawianie zmiennej odpowiedzialnej za wyswietlanie zawartosci wirtualnej pamieci RAM
private  void whileInstruction(int from, int to)
          wykonywanie petli WHILE
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

_sizeREG

private int _sizeREG
rozmiar tabicy do implementacji rejestrow


_REG

private double[] _REG
implementacja rejestrow


_sizeRAM

private int _sizeRAM
rozmiar tabicy do pamieci operacyjnej


_RAM

private double[] _RAM
implementacja pamieci operacyjnej


_pREG

private int _pREG
'wskanik' na ostani wykorzystywany rejestr


_pRAM

private int _pRAM
'wskanik' na ostania wykorzystywana komorke pamieci operacyjnej


view

private boolean view
czy pokazywac zawartosc pamieci RAM


variables

Variables[] variables
tablica zmiennych


variableCount

int variableCount
rozmiar tabllicy zmiennych


ELSEpos

int ELSEpos
pozycja slowa ELSE


lexems

java.lang.String[] lexems
tablica leksemow


lexemCount

public static int lexemCount
wielkosc tablicy leksemow

Constructor Detail

Executor

public Executor()
Method Detail

init

public void init()
funkcja inicjujaca zmienne klasy executor


setView

public void setView(boolean view)
ustawianie zmiennej odpowiedzialnej za wyswietlanie zawartosci wirtualnej pamieci RAM


setVariables

public void setVariables(Variables[] variables,
                         int count)
utawianie tablicy przechowujacej uzywane zmienne


setLexems

public void setLexems(java.lang.String[] lexems,
                      int count)
utawianie tablicy przechowujacej leksemy


replaceVariableName

private void replaceVariableName()
zamiana nazw zmiennych na intepretowane przez executor'a


initRAM

private void initRAM()
inicjalizacja pamieci RAM


prepareLexems

private void prepareLexems()
czyszczenie tablicy leksems....


isNumber

public boolean isNumber(java.lang.String s)
sprawdzanie czy leksem jest liczba


alocationVariables

private void alocationVariables()
alokacja zasobow pod zmienne uzywane w programie


arytmeticInstruction

private void arytmeticInstruction(int from,
                                  int to)
wykonywnie instrukcji arytmetycznych, wej-wyj, instrukcji pustych


whileInstruction

private void whileInstruction(int from,
                              int to)
wykonywanie petli WHILE


ifInstruction

private void ifInstruction(int from,
                           int to)
wykonywanie instrukcji IF (pozycja w tablicy leksemow)


findInstruction

private void findInstruction(int from,
                             int to)
odnajdowanie poczatku i konca kolejnych istrukcji


fileWrite

private void fileWrite()
zapis wynikow dzialania executora na tablicy lexems do pliku kontrolnego