Skip to content
Snippets Groups Projects
Commit 218ab510 authored by hannah.blech's avatar hannah.blech :dancer:
Browse files

comitt files

parent fdc17298
Branches main
No related tags found
No related merge requests found
import java.util.List;
public class Parser {
private List<Token> tokenliste;
private Token aktuellesToken;
public Parser(List<Token> pTokenliste){
......@@ -11,19 +13,37 @@ public class Parser {
}
public boolean parse(){
if(tokenliste.hasAccess() && pruefeS()){
return true;
}
else{
return false;
}
}
public boolean pruefeS(){
aktuellesToken = tokenliste.getFirst();
if(tokenliste.hasAccess() && aktuellesToken.getTyp() == "EGAL" || aktuellesToken.getTyp() == "ENDE"){
aktuellesToken = nextToken();
return pruefeA();
}
else{ return false ;}
}
public boolean pruefeA(){
if(tokenliste.hasAccess() && aktuellesToken.getTyp() == "EGAL" || aktuellesToken.getTyp() == "ENDE"){
aktuellesToken = nextToken();
return pruefeB();
}
else{ return false ;}
}
public boolean pruefeS(){
public boolean pruefeB(){
return tokenliste.hasAccess() && aktuellesToken.getTyp() == "ENDE";
}
}
import java.util.List;
public class Scanner {
private String eingabe;
......@@ -20,6 +21,7 @@ public class Scanner {
while(eingabe.charAt(pos) != '#'){
erster = eingabe.charAt(pos);
zweiter = eingabe.charAt(pos+1);
Token aktuellesToken;
if(erster == 'l' && zweiter == 'a'){
aktuellesToken = new Token("EGAL", "la");
}
......@@ -31,6 +33,7 @@ public class Scanner {
}
else{
fehler = true;
ausgabe();
break;
}
......@@ -40,7 +43,7 @@ public class Scanner {
}
private void ausgabe(boolean fehler){
private void ausgabe(){
if(fehler){
System.out.println("Eingabe war nicht entsprechend der Regeln der Sprache. Bitte veruche es erneut");
}
......
......@@ -23,4 +23,5 @@ public class Token {
public void setTyp(String typ) {
this.typ = typ;
}
}
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment