Theoretische und technische Informatik - ganz praktisch
Herzlich willkommen auf der Question/Answer-Plattform zu Grundlagen der Informatik II. Wir wünschen Ihnen viel Spaß beim Lernen und Diskutieren!
Loggen Sie sich mit Ihrem KIT-Account (u...) ein, um loszulegen!
Beachten Sie auch diese Informationen zum Schnelleinstieg.
(Nicht-KIT-Studierende beachten bitte diese Informationen.)

Schöne Ferien!
 

 

Alternative Lösung

+2 Punkte
57 Aufrufe
Hallo, wäre folgende Grammatik für Aufgabe a) auch korrekt? Oder muss ich meinen ersten Umwandlungsschritt (S --> 01A) auseinanderziehen wie in der Musterlösung?

Danke im Voraus und liebe Grüße

G = (N,T,P,S)

N = {S,A,B,C}

T = {0,1}

P = { S --> 01A;

       A --> 1A | 0B;

       B --> 0B | 1B | 0C;

       C --> 1}
Gefragt 12, Jan 2016 in END-AG von uuduh uuduh Lernwillige(r) (470 Punkte)  

Eine Antwort

+1 Punkt
 
Beste Antwort
Diese Lösung würde insofern nicht gehen, als nach einer rechtslinearen Grammatik gefragt ist, und solche Regeln wie $S \rightarrow 01A$ daher nicht erlaubt sind. 
 
Ansonsten ist Ihre Lösung aber von der Funktionsweise her (wenn ich nichts übersehe) korrekt.
 
Sie können übrigens auch den XWizard nutzen, um Ihre Grammatik zu untersuchen. Hier ist der Direktlink:
 
 
Und hier das zugehörige Skript:
grammar:
A => 1, A | 0, B;
B => 0, B | 1, B | 0, C;
C => 1;
S => 0, 1, A;
--declarations--
e=#n#;
N=S,A,B,C;
T=a,b,c;
S=S;
displayMode=2;
maxdepth=50;
cutNonTerminalBranches=true;
cutTerminalDoubleBranches=true;
maxLengthWords=7;
multiLetterSymbolsHaveIndex=false;
parseTreeNum=0
--declarations-end--
Beantwortet 12, Jan 2016 von Lukas König Dozent (10,065,090 Punkte)  
ausgewählt 12, Jan 2016 von uuduh uuduh
Alles klar! Vielen Dank.
...