-
Notifications
You must be signed in to change notification settings - Fork 1
/
Beschreibung
45 lines (38 loc) · 1.32 KB
/
Beschreibung
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
SysProg – Scanner
Scanner nextToken()
a) Buffer getChar() (Index erhöhen und Zeichen an der Stelle Index-1 zurückgeben)
Wenn Zeichen nicht \0 ist:
Scanner speichert das Zeichen in der Liste
Automat erhöht SchritteSeitLetztemEndZustand um 1
Automat putChar() -> Automat schaut ob es Übergang gibt
Speichert Aktuellen Zustand.
Wenn der Neue Zustand ein endzustand ist, SchritteSeitLetztemEndZustand auf 0 und LetzterEndzustand ist der Neue Zustand
Wenn es keinen neuen Zustand gab springt er wieder in den Anfangszustand
return ob es einen Übergang gab.
Bei true: Scanner wiederholt ab (a)
Bei false oder wenn \0 aus Buffer kommt: Scanner holt letzten Endzustand und Schritte seit dem.
Wenn es keinen letzten Endzustand gibt Fehler-Token zurück
Scanner schmeißt so viele Zeichen aus Liste wie Schritte + sagt Buffer Schritte zurück
Aus Inhalt der Liste + Zustand baut Token und return
Buffer:
char getChar()
void SchritteZurueck(int wieviele)
Scanner:
Token NextToken();
Automat:
Boolean putChar(char dieses)
Int getSchritteSeitLetztemEndzustand()
Zustand/enum/ getletzterZustand()
Zustands-Klassse:
testChar()->gibt neuen Zustand zurück
Liste aus Input Zeichen und Folge Zustand
Automat:
Aktueller Zustand
Letzter Endzustand
Start Zustand
SchritteSeitLetzemEndzustand
Zeile
Spalte
Aufbau
Erzeugt alle Zustände
Verlinkt Zustände