Theoretische und technische Informatik - ganz praktisch - Letzte Aktivität in 2008-H-03 https://info2.aifb.kit.edu/qa/index.php?qa=activity&qa_1=2008-hauptklausur&qa_2=2008-h-03 Powered by Question2Answer Beantwortet: Ableitung von (a+b)*b(ba+b) mit der Grammatik der Musterlösung? https://info2.aifb.kit.edu/qa/index.php?qa=2867&qa_1=ableitung-von-a-b-b-ba-b-mit-der-grammatik-der-musterl%C3%B6sung&show=2868#a2868 <p> Hallo,</p> <p> Ihr regulärer Ausdruck kann so nicht abgeleitet werden, weil es strenggenommen kein regulärer Ausdruck ist. Sie haben einige Abkürzungen eingebaut (Und zwar durch das Weglassen von Klammern), die wir zwar zulassen, weil wir verstehen, was gemeint ist, die aber durch die Grammatik nicht abgedeckt werden.</p> <p> Wenn man entsprechende Klammern hinzufügt, erhält man (bspw.) folgenden korrekten regulären Ausdruck:</p> <p> (((a+b)*b)((ba)+b))</p> <p> Diesen kann man entsprechend dem folgenden Ableitungsbaum erzeugen:</p> <p> <img alt="" src="http://info2.aifb.kit.edu/qa/?qa=blob&amp;qa_blobid=2001601914806664116" style="width: 600px; height: 199px;"></p> <p> Viele Grüße</p> <p> Lukas König</p> <p> PS. Wenn Sie das im <a rel="nofollow" href="http://sourceforge.net/projects/easyagentsimulation/files/InfoII-Generator.zip/download">Info-II-Generator</a> nachvollziehen möchten, können Sie dieses Skript verwenden (Klammern sind als geschweifte Klammern dargestellt, da "(", ")" im Programm schon anderweitig vergeben sind):</p> <p> grammar parse({, {,{, a, +, b, }, *, b,}, {, {, b, a, }, +, b, },})--0: S: a,b,c, +, x, *, {, }, O: S:<br> S =&gt; {, S, +, S, };<br> S =&gt; {, S, x, S, };<br> S =&gt; {, S, S, };<br> S =&gt; S, *;<br> S =&gt; c;<br> S =&gt; b;<br> S =&gt; a;<br> S =&gt; O;</p> 2008-H-03 https://info2.aifb.kit.edu/qa/index.php?qa=2867&qa_1=ableitung-von-a-b-b-ba-b-mit-der-grammatik-der-musterl%C3%B6sung&show=2868#a2868 Fri, 25 Sep 2015 15:38:19 +0000