cemu
Class EBNF

java.lang.Object
  extended by cemu.EBNF
Direct Known Subclasses:
Parser

public class EBNF
extends java.lang.Object

rozklad zrodla programu, parsuje - sprawdza skladnie


Field Summary
private  int ELSEpos
          pozycja slowa kluczowego ELSE w aktualnie parsowanej instrukcji
static int errorNumber
          indeks ostaniego bledu w tablicy
static java.lang.String[] errors
          tablica z bledami
private  boolean isDeclarationProcess
          weryfikacja czy aktualnie parsowana jest instrukcja deklaracji
 int keywordNumber
          indeks - numer ostatniego slowa kluczowego
 java.lang.String[] keywords
          slowa kluczowe
static int lexemNumber
          indeks ostaniego leksemu w tablicy
static java.lang.String[] lexems
          tablica leksemow - wyrazow jakie rozpoznal skaner
static int[] lines
          tablica numerow linni kodu odpowiadajcych leksemow z tablicy lexems[]
 int variableNumber
          indeks - (numer) ostaniego slowa uzytych zmiennych
 Variables[] variables
          tablica na zadeklarowane zmienne
 
Constructor Summary
EBNF()
          konstruktor domyslny
EBNF(java.lang.String[] lexems, int[] lines, int lexemNumber)
          konstruktor ( pobrane parametrow ze skanera)
 
Method Summary
private  void addName(java.lang.String name, java.lang.String type)
          dodawanie nazwy zmiennej do tablicy zadeklarowanych zmiennych, nazw zmiennych variables[]
private  java.lang.String findType(int index)
          okreslanie typu zmiennej
private  int getELSEpos()
          pobiera pozycje ELSE w parsowanej instrukcji
private  java.lang.String getTypeVariable(java.lang.String name)
          pobieranie typu zmiennej
 int getVariableCount()
          zwracanie rozmiaru tablicy z nazwami zadeklarowanych zmiennyh
 Variables[] getVariables()
          zwracanie tablicy z nazwami zadeklarowanych zmiennyh
 java.lang.String isArytmeticOperation(int from, int to)
          sprawdzanie wystapienia operacji arytmetycznej
 boolean isAssign(int from, int to)
          sprawdzanie wystapienia instrukji przypisania
 boolean isBoolCondition(int from, int to)
          sprawdzanie wystapienia operacji logicznych
private  boolean isBoolOperator(int index)
          sprawdzanie wystapienia operatorow logicznych - boolowskich
 boolean isClaspClose(int from, int to)
          wykrycie klamry zamykajacej
 boolean isClaspOpen(int from, int to)
          wykrycie klamry otwierajacej
 boolean isClass(int from, int to)
          rozpoznanie wystapienia slowa kluczowego class
 boolean isDeclaration(int from, int to)
          sprawdzanie wystapienia instrukji deklaracji
 boolean isDeclarationOrNull(int from, int to)
          sprawdzanie wystapienia instrukji deklaracji lub pustej
 boolean isDouble(int from, int to)
          weryfikacja zgodnosci leksemu z typem DOUBLE
 boolean isGroupInstruction(int from, int to)
          sprawdzenie czy jest to dopuszczalna instrukcja grupujaca - klamry {}
 boolean isIfInstruction(int from, int to, int ELSE)
          sprawdzanie wystapienia instrukcji warunkowej IF,IF-ELSE
 boolean isIncOrDec(int from, int to)
          sprawdzanie wystapienia instrukji inkrementacji i dekrementacji
 boolean isInputInstruction(int from, int to)
          sprawdzanie wystapienia instrukcji wejściowych - jedynie wartosci liczbowe
 boolean isInstruction(int from, int to)
          sprawdzenie czy jest to dopuszczalna instrukcja
 boolean isInteger(int from, int to)
          weryfikacja zgodnosci leksemu z typem INTEGER calkowitym
 boolean isMainProgram(int from, int to)
          sprawdzanie popawnosci schematu budowy wnetrza klasy wraz z funkcją Main
 boolean isName(int index)
          weryfikacja zadeklaroania nazwy zmiennej uzytej w prpgramie
 boolean isNameDeclaration(int index)
          sprawdzanie czy zmienna jest zadeklarowana
 boolean isNotKeyword(int index)
          weryfikacja czy leksem nie jest slowem kluczowym
 boolean isNullOperation(int from, int to)
          sprawdzanie wystapienia instrukji pustej
 boolean isNumber(int index)
          weryfikacja czy leksem jest liczba
 boolean isOutputInstruction(int from, int to)
          sprawdzanie wystapienia instrukcji wyjscia (Console.Write)
 boolean isProgram(int from, int to)
          sprawdzanie popawnosci schematu budowy klasy
 boolean isString(int from, int to)
          weryfikacja czy leksem jest typem znakowym
 boolean isType(int index)
          weryfikacja czy leksem jest nazwa dopuszczonego typu
private  boolean isVariableDeclared(int index)
          sprawdzanie czy zmienna jest zadeklarowana (o podanym indeksie)
 boolean isVarValue(int index)
          czy leksem jest nazwa zadeklarowanej zmiennej bądż jest wartoscia
 boolean isWhileInstruction(int from, int to)
          sprawdzanie wystapienia instrukcji petli WHILE
private  void setELSEpos(int pos)
          ustawia pozycje ELSE w parsowanej instrukcji
 void setErrorsArraySize(int errorsCount)
          ustala rozmiar tablicy bledow
 void setKeywordsFile(java.lang.String keywordsFile)
          wczytanie - pobranie slow kluczowych do tablicy keywords z pliku
 void setVariablesArraySize(int variablesCount)
          ustala rozmiar tablicy zmiennych
 void variablesWrite()
          Wypisanie nazw zmiennych
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

keywords

public java.lang.String[] keywords
slowa kluczowe


keywordNumber

public int keywordNumber
indeks - numer ostatniego slowa kluczowego


variables

public Variables[] variables
tablica na zadeklarowane zmienne


variableNumber

public int variableNumber
indeks - (numer) ostaniego slowa uzytych zmiennych


lines

public static int[] lines
tablica numerow linni kodu odpowiadajcych leksemow z tablicy lexems[]


lexems

public static java.lang.String[] lexems
tablica leksemow - wyrazow jakie rozpoznal skaner


lexemNumber

public static int lexemNumber
indeks ostaniego leksemu w tablicy


errors

public static java.lang.String[] errors
tablica z bledami


errorNumber

public static int errorNumber
indeks ostaniego bledu w tablicy


ELSEpos

private int ELSEpos
pozycja slowa kluczowego ELSE w aktualnie parsowanej instrukcji


isDeclarationProcess

private boolean isDeclarationProcess
weryfikacja czy aktualnie parsowana jest instrukcja deklaracji

Constructor Detail

EBNF

public EBNF(java.lang.String[] lexems,
            int[] lines,
            int lexemNumber)
konstruktor ( pobrane parametrow ze skanera)

Parameters:
lexems - wyraz jaki rozpoznal skaner
lines - wystapienie rozpoznanego wyrazu w linni
lexemNumber - indeks - (numer) ostaniego slowa uzytych zmiennych

EBNF

public EBNF()
konstruktor domyslny

Method Detail

setELSEpos

private void setELSEpos(int pos)
ustawia pozycje ELSE w parsowanej instrukcji


getELSEpos

private int getELSEpos()
pobiera pozycje ELSE w parsowanej instrukcji


setErrorsArraySize

public void setErrorsArraySize(int errorsCount)
ustala rozmiar tablicy bledow


setVariablesArraySize

public void setVariablesArraySize(int variablesCount)
ustala rozmiar tablicy zmiennych


isInteger

public boolean isInteger(int from,
                         int to)
weryfikacja zgodnosci leksemu z typem INTEGER calkowitym


isDouble

public boolean isDouble(int from,
                        int to)
weryfikacja zgodnosci leksemu z typem DOUBLE


isNumber

public boolean isNumber(int index)
weryfikacja czy leksem jest liczba


isString

public boolean isString(int from,
                        int to)
weryfikacja czy leksem jest typem znakowym


isNotKeyword

public boolean isNotKeyword(int index)
weryfikacja czy leksem nie jest slowem kluczowym


addName

private void addName(java.lang.String name,
                     java.lang.String type)
dodawanie nazwy zmiennej do tablicy zadeklarowanych zmiennych, nazw zmiennych variables[]


findType

private java.lang.String findType(int index)
okreslanie typu zmiennej


isName

public boolean isName(int index)
weryfikacja zadeklaroania nazwy zmiennej uzytej w prpgramie


isNameDeclaration

public boolean isNameDeclaration(int index)
sprawdzanie czy zmienna jest zadeklarowana


isClass

public boolean isClass(int from,
                       int to)
rozpoznanie wystapienia slowa kluczowego class


isClaspOpen

public boolean isClaspOpen(int from,
                           int to)
wykrycie klamry otwierajacej


isClaspClose

public boolean isClaspClose(int from,
                            int to)
wykrycie klamry zamykajacej


isDeclaration

public boolean isDeclaration(int from,
                             int to)
sprawdzanie wystapienia instrukji deklaracji


isType

public boolean isType(int index)
weryfikacja czy leksem jest nazwa dopuszczonego typu


isDeclarationOrNull

public boolean isDeclarationOrNull(int from,
                                   int to)
sprawdzanie wystapienia instrukji deklaracji lub pustej


isMainProgram

public boolean isMainProgram(int from,
                             int to)
sprawdzanie popawnosci schematu budowy wnetrza klasy wraz z funkcją Main


isAssign

public boolean isAssign(int from,
                        int to)
sprawdzanie wystapienia instrukji przypisania


isVarValue

public boolean isVarValue(int index)
czy leksem jest nazwa zadeklarowanej zmiennej bądż jest wartoscia


isArytmeticOperation

public java.lang.String isArytmeticOperation(int from,
                                             int to)
sprawdzanie wystapienia operacji arytmetycznej


isNullOperation

public boolean isNullOperation(int from,
                               int to)
sprawdzanie wystapienia instrukji pustej


isVariableDeclared

private boolean isVariableDeclared(int index)
sprawdzanie czy zmienna jest zadeklarowana (o podanym indeksie)


getTypeVariable

private java.lang.String getTypeVariable(java.lang.String name)
pobieranie typu zmiennej


isIncOrDec

public boolean isIncOrDec(int from,
                          int to)
sprawdzanie wystapienia instrukji inkrementacji i dekrementacji


isBoolOperator

private boolean isBoolOperator(int index)
sprawdzanie wystapienia operatorow logicznych - boolowskich


isBoolCondition

public boolean isBoolCondition(int from,
                               int to)
sprawdzanie wystapienia operacji logicznych


isWhileInstruction

public boolean isWhileInstruction(int from,
                                  int to)
sprawdzanie wystapienia instrukcji petli WHILE


isIfInstruction

public boolean isIfInstruction(int from,
                               int to,
                               int ELSE)
sprawdzanie wystapienia instrukcji warunkowej IF,IF-ELSE


isOutputInstruction

public boolean isOutputInstruction(int from,
                                   int to)
sprawdzanie wystapienia instrukcji wyjscia (Console.Write)


isInputInstruction

public boolean isInputInstruction(int from,
                                  int to)
sprawdzanie wystapienia instrukcji wejściowych - jedynie wartosci liczbowe


isInstruction

public boolean isInstruction(int from,
                             int to)
sprawdzenie czy jest to dopuszczalna instrukcja


isGroupInstruction

public boolean isGroupInstruction(int from,
                                  int to)
sprawdzenie czy jest to dopuszczalna instrukcja grupujaca - klamry {}


isProgram

public boolean isProgram(int from,
                         int to)
sprawdzanie popawnosci schematu budowy klasy


variablesWrite

public void variablesWrite()
Wypisanie nazw zmiennych


setKeywordsFile

public void setKeywordsFile(java.lang.String keywordsFile)
wczytanie - pobranie slow kluczowych do tablicy keywords z pliku


getVariables

public Variables[] getVariables()
zwracanie tablicy z nazwami zadeklarowanych zmiennyh


getVariableCount

public int getVariableCount()
zwracanie rozmiaru tablicy z nazwami zadeklarowanych zmiennyh