Lösung 7.1 Syntax und Semantik

Slides:



Advertisements
Ähnliche Präsentationen
Niklaus Wirth: Prinzipien der Programmiersprachen und PASCAL
Advertisements

Einführung in Prolog Copyright © 1999 by Michael Neumann
Referat von Frederik Barth
Vorlesung Compilertechnik Sommersemester 2008
Kontextfreie Grammatiken
Lineare Suche Divide-and-Conquer-Suche Kombinationssuche
8. Formale Sprachen und Grammatiken
10. Grundlagen imperativer Programmiersprachen
Imperative Programmierung
Grammatiken, Definitionen
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Grammatiken beschreiben Sprachen L µ *, indem.
Friedhelm Meyer auf der Heide 1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Reduktionen Def: L · L (L ist reduzierbar auf.
Parser generieren Yet Another Compiler – Compiler YACC.
FH-Hof Grammatiken Richard Göbel. FH-Hof Begriffe Eine Grammatik definiert die Struktur (Syntax) einer Zeichenkette Eine Grammatik definiert nicht die.
FH-Hof Optimierungsverfahren für kombinatorische Probleme Richard Göbel.
Entwicklung der Programmiersprachen
DOM (Document Object Model)
C- Syntax. Bestandteile der Sprache C: Ausdrücke Anweisungen.
M a r c – o l i v e r p a h l Informatik II – Kapitel 18 Übersetzung Zusammenfassung des Kapitel 18 Küchlin, Weber, Vorversion Einführung in die Informatik,
Prof. Dr. rer.nat. Ralph Großmann Fakultät Informatik / Mathematik Sommersemester 2012 Internet-Technologien XML-basierte Techniken Teil Metasprache der.
Prolog Grundkurs WS 98/99 Christof Rumpf
EINI-I Einführung in die Informatik für Naturwissenschaftler und Ingenieure I Kapitel 1 Gisbert Dittrich; Claudio Moraga FBI Unido
Beispiele für Ausdrucksalgebren
Agenda Motivation Formale Sprachen Compiler Compilerentwicklung
1 HEINZ NIXDORF INSTITUT Universität Paderborn Algorithmen und Komplexität Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester.
Vorlesung Compilertechnik Sommersemester 2008
A. Zündorf, SE Group Reverse Engineering K2 1 Ziele Heute Compilerbau Nachlese Ausnutzung von Laufzeittypinformation.
Grundkurs Theoretische Informatik, Folie 7.1 © 2006 G. Vossen,K.-U. Witt Grundkurs Theoretische Informatik Kapitel 7 Gottfried Vossen Kurt-Ulrich Witt.
Objektorientierte Softwareentwicklung
Einführung Inhalte dieses Kurses Generationen der Programmiersprachen
RelationentheorieObjektorientierte Datenbanken AIFB SS Die Anbindung an Programmiersprachen (1/2) Prinzip und Zielsetzung der Sprachanbindungen.
Frank Fischer Manager Evangelism and Marketing Microsoft Deutschland GmbH.
Dateien Datei = File (engl.) Mögliche Inhalte einer Datei
Software-Entwicklung & Programmiersprachen
CGI (Common Gateway Interface)
Wohlgeformtheit und Gültigkeit Grundlagen der Datenmodellierung Anke Jackschina.
Historische Entwicklung und ihre Einteilung
Formale Sprachen Grammatiken und die Chomsky-Hierarchie
Programmieren in C Einführung
Interpreter & Compiler
Programmiersprachen Proseminar Grundlagen wissenschaftlichen Arbeitens
Programmieren in C Einführung
Grundlagen Wissenschaftlichen Arbeitens Hilal Tekoglu
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 1: Wiederholung (Vor allem Folien von Priv.-Doz. Dr. Kindler vom WS 2001/02.
Städtisches Gymnasium Beverungen Friedel Berlage
Dieser nicht Fehler finden Algorithmus enthält einfach einen gravierenden welcher zu ist.
Beispiele: KFG 2.Teil Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln: S  Ac | Bd A  aAb | ab B  aBbb | abb Definieren Sie.
Noam CHOMSKY, Sheila GREIBACH
Noam CHOMSKY, Sheila GREIBACH
PHP: Operatoren und Kontrollstrukturen
Automaten, formale Sprachen und Berechenbarkeit II SoSe 2004 Prof. W. Brauer Teil 3: Potenzreihen und kontextfreie Sprachen (Vgl. Buch von A. Salomaa)
Programmieren in C Einführung
Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
se_2_hooks.ppt1 Softwareengineering Einfache Hooks und Abstrakte Methoden (Klassen) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics and.
Informatik Formale Sprachen 1.2 Grammatiken formaler Sprachen
Mensch – Maschine - Kommunikation
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele (Frist: ) Beispiel 1: Sei  = {a, b} ein Alphabet und Q = {q 0, q 1 } eine.
7. Formale Sprachen und Grammatiken
Institut für Softwarewissenschaft – Universität WienP.Brezany 1 Beispiele: KFG und Automaten Beispiel 1: Sei G eine Grammatik mit den folgenden Regeln:
Inhalt Einordnung und Funktion der lexikalische Analyse Grundlagen
Kapitel 4:Die Chomsky Hierarchie
Grundstruktur einer HTML-Seite 1 Thema Die Grundstruktur einer HTML-Seite.
Sprachen und Programmiersprachen
Praktische Informatik 1
Praktische Informatik 1
Programmieren in C Einführung
Syntaxdiagramme.
Einführung in die Programmierung
Einführung in die Programmierung
 Präsentation transkript:

Lösung 7.1 Syntax und Semantik Geben Sie Beispiele für lexikalische Strukturelemente: Bezeichner, Literale, Schlüsselworte, ... syntaktische Strukturelemente: Alle Elemente aus „Algorithmenentwurf“ der Programmiersprache C++ an Formulieren Sie die Semantik einer while-Schleife: siehe Schleife mit vorausgehender Prüfung eines Unterprogrammaufrufes siehe „Block“ recherchieren Sie nach weiteren Programmiersprachen Algol 60, Algol 68, Forth, PL/1, Fortran, Smalltalk, Simula 67, SETL, Snobol, Cobol, Pascal, Turbo-Pascal, DELPHI, Concurrent Pascal, SPSS, CLU, Alphard, SDL, Oberon, Oberon-2, Object Cobol, Ada, APL, CDL 2, Ada 95, Mesa, Modula-2, Chill, BCPL, C, Objective-C, Modula-3, C++, ,Assemblersprachen, Prolog, Prolog II, Eiffel, Beta, Opal, CS,P Hope, Miranda, Lisp, Common Lisp, PHP, Perl, Scheme, Haskell, Standard ML, Clipper, Basic, Visual Basic, Java, JavaScript, SQL, Late,x Postscript, HTML, UML, Z, Act-One, VDM, awk, LEX, YACC, Maschinensprachen, RPG, Occam, Linda, T Lotus, OPS-5, ...  werden Sie zu Meta-Programmierern und -Programiererinnen

Lösung 7.2 Reguläre Ausdrücke Geben Sie reguläre Ausdrücke für Integerliterale: [0-9]+ bzw. (1|2|3|4|5|6|7|8|9)(0|1|2|3|4|5|6|7|8|9)* while, function, if while usw. bzw. ‘w‘‘h‘‘i‘‘l‘‘e‘ usw. Geben Sie einen regulären Ausdruck zu folgenden Sprachen an: Alle Folgen von Großbuchstaben, die jeden Vokal genau einmal in alphabetischer Reihenfolge enthält: KONS = [B-DF-HJ-NP-TV-Z] {KONS}*A{KONS}*E{KONS}*I{KONS}*O{KONS}*U{KONS}* Alle Dualziffernfolgen, die „001“ nicht als Teilfolge enthalten (0?1+)*0* Welche Sprachen sind durch die folgenden regulären Ausdrücke definiert ? (0?|1*)* alle Binärzahlen, denn (0|1) ist Teilmenge von (0?|1*) (0|1)*0(0|1)(0|1) alle Binärzahlfolgen, bei denen die drittletzte Ziffer existiert und 0 ist /\*((\*[^/])|[^\*])*\*/ „wohlgeformte“ C-Kommentare

Lösung 7.3 Grammatiken gegeben ist folgende Grammatik G: G = { N,T,P,S }, N = { A,B,C,S }, T = { a,b,c }, P = { S:=ABC, A:=ABA, C:=CBC, A:=a, B:=b, C:=c } Die Grammatik ist kontextfrei, da auf der linken Seite aller Regeln genau ein Nichtterminalsymbol steht Beweis durch Ableitung : S  ABC  ABA BC  ABA BABC  ABABAB CBC  ... : abababcbc Es gibt keine Regel, die ein b vor ein a produziert, ohne dass vor dem b auch noch a‘s sind, daher ist b2a2c3  L(G), denn in b2a2c3 ist ein b vor einem a. (ab)+c(bc)* Da die Grammatik G kontextfrei ist die Sprache vom Chomsky-Typ-2. Da sich die Sprache auch als regulären Ausdruck darstellen lässt, ist die Sprache sogar Chomsky-Typ 3. Ja, denn jede Chomsky-Typ2 bzw. 3 Sprache ist auch vom Chomsky-Typ0