Algorithmen & Programmierung. Formale Sprachen Die Logik hinter dem Compiler
|
|
- Joseph Kneller
- vor 7 Jahren
- Abrufe
Transkript
1 Algorithmen & Programmierung Formale Sprachen Die Logik hinter dem Compiler
2 Natürlichsprachliche Programme? Können Programme natürlichsprachlich formuliert werden? Kaufe zwei Tüten Mehl und Gemüse!? Implizites Wissen Natürlichsprachliche Algorithmen setzen i.d.r. implizites Zusatzwissen des Prozessors voraus. Deshalb ist die Granularität von Aktionen, die in natürlicher Sprache beschrieben werden, meist sehr grob. Idee für Abhilfe Verfeinerung der Granularität, so dass jede Aktionen so exakt beschrieben werden kann, dass zur ihrer Ausführung nur noch relativ einfaches Elementarwissen vorausgesetzt werden muss. Problem Mit dem Konzept natürliche Sprache lassen sich Sachverhalte nicht eindeutig formulieren. 156
3 Mehrdeutigkeit natürlicher Sprache Problem Sprachliche Zeichen (z.b. Wörter) können manchmal auf verschiedene Weise interpretiert werden. Umgekehrt können mehrere verschiedene Worte denselben Sachverhalt bezeichnen. Natürliche Lösung Die richtige Bedeutung eines mehrdeutigen Begriffes (korrekte Interpretation) erschließt sich oft nur aus dem Kontext einer Konversation oder eines Schriftstücks. Zusätzlich spielt wiederum das implizite vorausgesetzte Wissen eine große Rolle für die korrekte Interpretation mehrdeutiger Begriffe. Maschinelles Verstehen natürlicher Sprache Aufgrund dieser Mehrdeutigkeiten ist es trotz großer Forschungsbemühungen bis heute nicht gelungen, zuverlässige Systeme zu entwickeln, die allgemeine natürliche Sprache verstehen. 157
4 Mehrdeutigkeit natürlicher Sprache Homonyme Bezeichnet ein Wort, das verschiedene Bedeutungen besitzt, z.b. Bank, Rasen, Schimmel Synonyme Bezeichnet verschiedene Wörter, die denselben Sachverhalt beschreiben, z.b. Schimmel - weißes Pferd Weitere Mehrdeutigkeiten Wachstube, Tonerkennung, Druckerzeugnis, Musikerleben Das Auto wird das Hindernis umfahren (Betonung von umfahren ist wichtig für Bedeutung) Mädchenhandelsschule (Schule für Mädchenhandel oder Handelsschule für Mädchen?) Junge Frauen und Männer (Sind die Männer auch jung?) 158
5 Natürliche & Formale Sprachen Unterscheidung von Sprachen Natürliche Sprachen Fachsprachen Formale Sprachen Formale Sprachen vs. natürliche Sprachen Eine Formulierung von Sachverhalten ist mit formalen Sprachen eindeutig. Algorithmen, die mit Hilfe formaler Sprachen formuliert werden, sind eindeutig ausführbar und setzen kein implizites Wissen voraus. 159
6 Formale Sprachen
7 Formale Sprachen - Beispiele Formelschrift in Mathematik Jeder Mathematiker sollte die Aussage einer Formel verstehen. Programme können ausschließlich auf Basis einer Formel Berechnungen anstellen, z.b. die Formel visualisieren: 161
8 Formale Sprachen - Beispiele Notenschrift Auch die Notation von Musik ist eine formale Beschreibung ohne Mehrdeutigkeiten. Allerdings verlangt eine schön klingende musikalische Umsetzung das Hinzuziehen impliziten Wissens der Musiker. Ein rein formales Abspielen durch entsprechende Software klingt (noch?) nicht sehr musikalisch. 162
9 Formale Sprachen Fragen Wie kann man formale Sprachen beschreiben und definieren? Wie kommt man von Beschreibungen in natürlicher Sprache zu formalen Beschreibungen? Wie beseitigt man die Mehrdeutigkeiten natürlicher Sprachen? Erster Schritt Beispielhafte Untersuchung von Gesetzmäßigkeiten natürlicher und formaler Sprachen: Analyse einer unbekannten Sprache (Schrift) Analyse natürlichsprachlicher Sätze Analyse algebraischer Ausdrücke 163
10 Analyse einer unbekannten Sprache Auch wenn wir (zumindest die meisten) ) diesen Text weder lesen noch verstehen können, lassen sich einige Gesetzmäs- sigkeiten in der Sprache bzw. Schrift erkennen: Zeichen Die Schrift ist aus verschiedenen Einzelzeichen aufgebaut, die sich wiederholen können. Wörter Mehrere Einzelzeichen werden (offensichtlich) zu Wörtern zusammengefasst. Anordnung der Zeichen Die Schriftzeichen sind horizontal angeordnet und die Leserichtung ist (vermutlich) links rechts 164
11 Analyse natürlicher Sätze DER TIGER JAGT DIE ANTILOPE Artikel Substantiv Verb Artikel Substantiv Subjekt Prädikat Objekt Satz 165
12 Analyse algebraischer Ausdrücke ( ) 9 Operand (Term) Operator Operand (Term) { Operand Operator (Term) { Ausdruck (Term) Operand (Term) 166
13 Regeln zur Satzerzeugung Satz Subjekt Prädikat Objekt Subjekt Artikel Substantiv Objekt Artikel Substantiv Prädikat Verb Verb JAGT DER TIGER JAGT DIE ANTILOPE Artikel DER Artikel DIE Artikel Substantiv Verb Artikel Substantiv Substantiv TIGER Subjekt Prädikat Objekt Substantiv ANTILOPE Substantiv LÖWE Satz 167
14 Regeln zur Satzerzeugung Wir erkennen relativ leicht richtige und falsche Satzstrukturen, selbst wenn wir den Inhalt nicht verstehen: Es existiert ein Interesse an der generellen Rezession der Applikation relativ primitiver Methoden komplementär zur Favorisierung adäquater komplexer Algorithmen. Dieser Satz kein Verb Dies gilt auch für mathematische Ausdrücke (bei denen man allerdings oft etwas genauer hinschauen muss): (3+y)((z+(4 x) x+y ) 168
15 Definition formaler Sprachen Alphabet Eine endliche geordnete Menge von Zeichen heißt Alphabet (Zeichenvorrat). Zeichenkette Eine Zeichenkette über Σ wird wie folgt definiert: 1. Die leere Zeichenkette ε (epsilon) ist eine Zeichenkette 2. Wenn α eine Zeichenkette ist, dann ist die Aneinanderreihung αx bzw. xα auch eine Zeichenkette für jedes x Σ. Länge einer Zeichenkette α bezeichnet die Anzahl der Zeichen einer Zeichenkette α, wobei gilt: ε =0 169
16 Beispiel Mit diesem Alphabet altdeutscher Spielkarten können als Zeichenketten typische Skathände mit zehn Einzelkarten oder der Skat selbst mit zwei Einzelkarten gebildet werden. commons.wikimedia.org 170
17 Definition formaler Sprachen Gleichheit Zwei Zeichenketten α = α 1... α n und β = β 1...β m sind gleich, wenn n=m und α i =β i für i=1..n Konkatenation Als Konkatenation α β zweier Zeichenketten α = α 1... α n und β = β 1...β m bezeichnet man ihre Aneinanderreihung α β = α 1... α n β 1...β m Kleenesche Hülle Σ * Die Menge aller Zeichenketten, die sich mittels Konkatenation aller Symbole aus Σ bilden lassen, wird als Kleenesche Hülle Σ * bezeichnet. Formale Sprache und Wort Jede Teilmenge L Σ * heißt formale Sprache und eine Zeichenkette w L wird als Wort bezeichnet. 171
18 Beispiele für formale Sprachen Menge aller Kartenpaare, die sich im Skat befinden können endliche Sprache Menge aller möglichen Schachspiele sehr große, aber endliche Sprache Menge aller C-Programmtexte unendliche Sprache Menge aller Basensequenzen, die GTAC enthalten unendliche Sprache 172
19 Syntax und Grammatik
20 Motivation Gegeben Alphabet Σ mit 52 franz. Karten Formale Beschreibung Pokerhand mit fünf Karten Realisierung mit L Σ * wikipedia.de Mögliches Resultat Weitere Möglichkeit Problem Mit der bisherigen Definition können keinerlei Einschränkungen getroffen werden, weder bzgl. der erlaubten Kartenanzahl noch die Tatsache dass jede Karte nur einmal vorhanden ist. 174
21 Syntax Syntax Die Syntax einer Sprache L Σ * bezeichnet eine Menge von Regeln, die festlegen, welche Elemente aus Σ * zu L gehören. Bedeutung Die Syntax regelt, welche der möglichen Zeichenketten einer Sprache tatsächlich zulässig sind. Realisierung Die aufgestellte Menge von Regeln beschreibt die Erzeugung zulässiger Zeichenketten der Sprache. Aufgrund des generativen Charakters heißt dieses Regelwerk Generative Grammatik. 175
22 Grammatik Als generative Grammatik bezeichnet man das Quadrupel G = (Σ, V, R, S) mit: Alphabet der Zeichen Σ (Terminalsymbole) Zeichen oder Zeichenfolgen des Alphabets, aus dem die Wörter der Sprache bestehen Menge der Variablen V (Nichtterminalsymbole) Menge an Variablen, die durch Anwendung von Regeln ersetzt werden. Es gilt: Σ V= Menge der Regeln R Beschreibt, wie man aus den Variablen neue Variablen, Zeichen oder Zeichenketten bildet. Allgemein schreibt man eine Regel in der Form v u, wobei v eine beliebige Variable aus der Menge V ist und u eine beliebige Aneinanderreihung von Elementen aus V und Σ, d.h. (V Σ) *. Startvariable S S V ist die Startvariable, aus der alle Wörter der Sprache erzeugt werden. 176
23 Ableitung Ableitung Eine Folge von Wörtern (w0, w1,..., wn) mit w0 = S, wn (V Σ)* und wi wi+1 für i=0,...,n 1 heißt Ableitung von wn (aus S). Ablauf Mit Hilfe der Regelmenge R wird jeweils ein Wort in einem Schritt in ein neues Wort abgebildet (abgeleitet). Dabei ersetzt man die linke Seite einer Regel (v) durch ihre rechte Seite (u). 177
24 Erzeugte Sprache Ziel einer Grammatik Das Ziel einer Grammatik liegt in der Erzeugung von Wörtern, die ausschließlich aus Terminalsymbolen bestehen. Zielerreichung Wenn im Ableitungsprozess ein Wort entsteht, das noch mindestens eine Variable enthält (w (V Σ)*), müssen die Regeln aus R erneut auf ein derartiges Wort angewendet werden, bis das entstandene Wort nur noch aus Terminalsymbolen besteht. Erzeugte Sprache Alle Wörter w Σ*, die in beliebig vielen Schritten aus dem Startsymbol abgeleitet werden können, bilden die von einer Grammatik G erzeugte Sprache L mit L(G) = { w Σ * S * G w } (S * G w bedeutet, dass sich w aus dem Startsymbol S der Grammatik G in beliebig vielen Schritten ableiten lässt) 178
25 Erweiterte Backus-Naur-Form Die Syntax höherer Programmiersprachen wird i.d.r. mit Hilfe von Grammatiken definiert. Die erweiterte Backus-Naur-Form (EBNF) ist ein Formalismus zur kompakten Darstellung von Grammatiken: Definitionszeichen = Ableitungszeichen Terminalsymbole " werden in Anführungszeichen eingeschlossen Variablen (Nichtterminalsymbole) bekommen Namen, der mit einem Großbuchstaben startet Selektionsklammern (... ) Genau eine Alternative aus der Klammer muss ausgewählt (selektiert) werden Optionsklammern [ ] Inhalt der Klammer ist optional Wiederholungsklammern { } Inhalt der Klammer kann n-fach stehen mit n 0 179
26 Beispiel Gegeben sei folgende Grammatik G(Σ,V,R,S) zur Darstellung ganzer Zahlen mit optionalem Vorzeichen: Σ = {0,1,2,3,4,5,6,7,8,9,+, } V = {GANZZAHL, ZAHL, VORZEICHEN, ZIFFER} R = { GANZZAHL ZAHL, GANZZAHL VORZEICHEN ZAHL, ZAHL ZIFFER, ZAHL ZIFFER ZAHL, VORZEICHEN +, VORZEICHEN ZIFFER 0, ZIFFER 1, ZIFFER 2, ZIFFER 3, ZIFFER 4, ZIFFER 5, ZIFFER 6, ZIFFER 7, ZIFFER 8, ZIFFER 9 } S = GANZZAHL 180
27 Syntaxdiagramm Verwendung Syntaxdiagramme dienen zur Visualisierung von Grammatiken ob ein Wort Element einer Sprache ist, kann im Syntaxdiagramm direkt abgelesen werden Ausdrucksmächtigkeit Syntaxdiagramme können genau die gleichen Grammatiken wie die EBNF darstellen. Bestandteile runde Kästchen bzw. Kreise repräsentieren Terminalsymbole eckige Kästchen stellen Variablen dar Verbindungen aus Linien und Pfeilen 181
28 Syntaxdiagramm Regeln für den Aufbau jedes Syntaxdiagramm besitzt einen eindeutigen Namen an jedem Kästchen enden genau zwei Linien (Pfeile), die sich in der Regel gegenüberliegen es gibt genau eine Linie, die in das Diagramm hineinführt (Eingang) es gibt genau eine Linie, die aus dem Diagramm hinausführt (Ausgang) Linien dürfen sich ausschließlich bei gewollter Verzweigung kreuzen Weg Ein Weg durch ein Syntaxdiagramm beginnt am Eingang und folgt in gleichbleibender Richtung den Linien, wobei Kästchen einfach durchquert werden. An Verzweigungspunkten darf ein Zweig unter Beachtung der Pfeilrichtung ausgewählt werden. Ausdruck Jeder in Pfeilrichtung begehbare Weg ist ein gültiger Ausdruck (Wort). 182
29 Syntaxdiagramm Nichtterminale / Variablen Alternative / Selektion Terminalsymbole Option / Selektion Konkatenation / Sequenz Wiederholung / Iteration 183
30 Syntaxdiagramm - Beispiel Ganze Zahlen 0: 184
31 Syntaxdiagramm - Beispiel Selektion: 185
32 Darstellung von C-Syntax Regeln zur Darstellung von C-Syntax Da wir Grammatiken meist zur Darstellung syntaktischer Sprachelemente von C benötigen, werden wir aus Gründen der Übersichtlichkeit noch eine weitere Darstellungsform verwenden. Terminalsymbole bzw. Schlüsselwörter werden durch eine Schriftart mit fester Zeichenbreite und die Farbe Lila gekennzeichnet. Nichtterminalsymbole werden durch die Farbe Blau dargestellt und unterstrichen. Optionale und wiederholte Elemente werden wie bei der EBNF von eckigen oder geschweiften Klammern in schwarzer Schriftart eingeschlossen. Beispiel (Steuerstrukturen in C) Selektion: Sequenz: Iteration: if ( Bedingung ) { while ( Bedingung ) Anweisung1 { Anweisung ; } Anweisung [ else } Anweisung2 ] 186
33 Semantik einer Sprache Aufgabe Die Semantik einer Sprache L legt die Bedeutung korrekt gebildeter Ausdrücke der Sprache L fest und beantwortet damit die Frage, ob syntaktisch richtige Konstruktionen auch sinnvoll sind. Dies geschieht meist durch zusätzliche Regeln, die nichts mit der Syntax zu tun haben. Im Rahmen dieser Lehrveranstaltung werden wir Aspekte der Semantik jedoch nicht weiter formalisieren. Syntax einfacher Sätze Satz Subjekt Prädikat Objekt Subjekt Artikel Substantiv Objekt Artikel Substantiv Prädikat Verb Verb JAGT Artikel DER Artikel DEN Artikel DIE Substantiv TIGER Substantiv ANTILOPE Substantiv LÖWE 187
34 Anwendung von Grammatiken Lexikalische Analyse Beispiel: Schritte beim Compilieren testet, ob die Wörter der Sprache als Bausteine richtig gebildet sind z.b. Kommandozeilenprogramm lex Syntaktische Analyse (Parsen) testet, ob die Sätze (aus richtigen Wörtern) korrekt gebildet wurden. liefert Ableitungsbaum z.b. Kommandozeilenprogramm yacc Semantische Analyse überprüft den Kontext, z.b. ob jede im Programm benutzte Variable auch definiert wurde 188
35 Weitere Grammatikanwendungen Suche nach Daten Häufig besteht der Wunsch, Daten mit einer bestimmten Struktur zu finden, Dazu existieren Programme, die mit Hilfe von sogenannten regulären Ausdrücken suchen können, die ihrerseits eine (Spezialform einer) Grammatik darstellen. Beispiel grep ist ein Kommandozeilenprogramm, mit dem Textdateien durchsucht werden, ob sie ein Textmuster enthalten, das zu einem vorgegebenen regulären Ausdruck passt grep sucht (evtl. in Kombination mit find) alle Dateien innerhalb eines vorzugebenden Verzeichnispfades, die das Textmuster enthalten für jede gefundene Datei gibt es die Zeilennummern aus, die das Textmuster enthalten Details siehe grep-dokumentation 189
36 Ende der Vorlesung
Sprachen sind durch folgenden Aufbau gekennzeichnet:
BNF UND SYNTAXDIAGRAMME 1. Allgemeines 1.1 Aufbau von Sprachen BNF und Syntaxdiagramme werden verwendet, um die Syntax einer Sprache darzustellen und graphisch zu veranschaulichen. Mit ihnen können entweder
MehrAlphabet, formale Sprache
n Alphabet Alphabet, formale Sprache l nichtleere endliche Menge von Zeichen ( Buchstaben, Symbole) n Wort über einem Alphabet l endliche Folge von Buchstaben, die auch leer sein kann ( ε leere Wort) l
MehrSyntax von Programmiersprachen
"Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt Syntax von Programmiersprachen Prof. Dr. Christian Böhm in Zusammenarbeit mit Gefei Zhang WS 07/08
Mehr7. Formale Sprachen und Grammatiken
7. Formale Sprachen und Grammatiken Computer verwenden zur Verarbeitung von Daten und Informationen künstliche, formale Sprachen (Maschinenspr., Assemblerspachen, Programmierspr., Datenbankspr., Wissensrepräsentationsspr.,...)
MehrKapitel IV Formale Sprachen und Grammatiken
Kapitel IV Formale Sprachen und Grammatiken 1. Begriffe und Notationen Sei Σ ein (endliches) Alphabet. Dann Definition 42 1 ist Σ das Monoid über Σ, d.h. die Menge aller endlichen Wörter über Σ; 2 ist
MehrKapitel 5: Syntaxdiagramme und Grammatikregeln
5. Syntaxdiagramme und Grammatikregeln 5-1 Objektorientierte Programmierung (Winter 2010/2011) Kapitel 5: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische
MehrFormale Sprachen. Inhaltsverzeichnis. M. Jakob. 10. Dezember Allgemeine Einführung. Aufbau formaler Sprachen
M. Jakob Gymnasium Pegnitz 10. Dezember 2014 Inhaltsverzeichnis Allgemeine Einführung Aufbau formaler Sprachen Notationsformen formaler Sprachen Backus-Naur-Formen Erkennen formaler Sprachen Implementierung
Mehr7. Syntax: Grammatiken, EBNF
7. Syntax: Grammatiken, EBNF Teil 1 Sehr schönes Beispiel für Notwendigkeit der Theoretischen Informatik für Belange der Praktischen Informatik Vertiefung in: Einführung in die Theoretische Informatik
MehrTheorie der Informatik. Theorie der Informatik. 6.1 Einführung. 6.2 Alphabete und formale Sprachen. 6.3 Grammatiken. 6.4 Chomsky-Hierarchie
Theorie der Informatik 17. März 2014 6. Formale Sprachen und Grammatiken Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 6.1 Einführung
MehrEinführung in die Informatik. Programming Languages
Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme
MehrKapitel 2. Methoden zur Beschreibung von Syntax
1 Kapitel 2 Methoden zur Beschreibung von Syntax Grammatik, die sogar Könige zu kontrollieren weiß... aus Molière, Les Femmes Savantes (1672), 2. Akt 2 Ziele Zwei Standards zur Definition der Syntax von
Mehr2.1 Allgemeines. Was ist eine Sprache? Beispiele:
Was ist eine Sprache? Beispiele: (a) Deutsch, Japanisch, Latein, Esperanto,...: Natürliche Sprachen (b) Pascal, C, Java, Aussagenlogik,...: Formale Sprachen Wie beschreibt man eine Sprache? (i) Syntax
MehrObjektorientierte Programmierung. Kapitel 3: Syntaxdiagramme
Stefan Brass: OOP (Java), 3. 1/31 Objektorientierte Programmierung Kapitel 3: Stefan Brass Martin-Luther-Universität Halle-Wittenberg Wintersemester 2014/15 http://www.informatik.uni-halle.de/ brass/oop14/
Mehr1 Formale Sprachen, reguläre und kontextfreie Grammatiken
Praktische Informatik 1, WS 2001/02, reguläre Ausdrücke und kontextfreie Grammatiken 1 1 Formale Sprachen, reguläre und kontextfreie Grammatiken Ein Alphabet A ist eine endliche Menge von Zeichen. Die
MehrInterdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der Informatik. SS 2016: Grossmann, Jenko
Interdisziplinäre fachdidaktische Übung: Modelle für Sprachen in der SS 2016: Grossmann, Jenko Die Beschreibung orientiert sich am Begriffssystem der Beschreibung natürlicher Sprachen Sprache in der steht
MehrEinführung in die Programmierung für NF. Rückgabewerte, EBNF, Fallunterscheidung, Schleifen
Einführung in die Programmierung für NF Rückgabewerte, EBNF, Fallunterscheidung, Schleifen FUNKTIONEN UND PROZEDUREN 3 Rückgabewerte, EBNF, Fallunterscheidung, Schleifen 2 Funk@on und Prozedur Methoden
Mehr5.1 Einführung. Beispiele. Syntax. Woher weiß der Compiler, dass ein Programm nicht korrekt ist? Unterscheiden: Grammatik und Semantik
Algorithmen und Programmierung Wintersemester 2016/2017 Algorithmen und Programmierung 5. Kapitel Syntax Prof. Matthias Werner Professur Betriebssysteme Woher weiß der Compiler, dass ein Programm nicht
MehrSprachen und Programmiersprachen
Sprachen und Programmiersprachen Natürliche Sprachen versus Programmiersprachen / Spezifikationssprachen Syntax legt die grammatikalische Korrektheit fest. Semantik legt die Bedeutung von syntaktisch korrekten
MehrAbschnitt 4: Daten und Algorithmen
Abschnitt 4: Daten und Algorithmen 4. Daten und Algorithmen 4.1 4.2 Syntaxdefinitionen 4.3 Eigenschaften von Algorithmen 4.4 Paradigmen der Algorithmenentwicklung Peer Kröger (LMU München) Einführung in
MehrAlgorithmen und Formale Sprachen
Algorithmen und Formale Sprachen Algorithmen und formale Sprachen Formale Sprachen und Algorithmen Formale Sprachen und formale Algorithmen (formale (Sprachen und Algorithmen)) ((formale Sprachen) und
MehrEinführung in die Informatik I (autip)
Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis
MehrProgrammiersprachen und Übersetzer
Programmiersprachen und Übersetzer Sommersemester 2010 19. April 2010 Theoretische Grundlagen Problem Wie kann man eine unendliche Menge von (syntaktisch) korrekten Programmen definieren? Lösung Wie auch
MehrDefinition 4 (Operationen auf Sprachen) Beispiel 5. Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A + = n 1 An
Definition 4 (Operationen auf Sprachen) Seien A, B Σ zwei (formale) Sprachen. Konkatenation: AB = {uv ; u A, v B} A 0 = {ɛ}, A n+1 = AA n A = n 0 An A + = n 1 An Beispiel 5 {ab, b}{a, bb} = {aba, abbb,
MehrEinführung in die Informatik. Programming Languages
Einführung in die Informatik Programming Languages Beschreibung von Programmiersprachen Wolfram Burgard Cyrill Stachniss 1/15 Motivation und Einleitung Wir haben in den vorangehenden Kapiteln meistens
MehrGrundbegriffe. Grammatiken
Grammatiken Grammatiken in der Informatik sind ähnlich wie Grammatiken für natürliche Sprachen ein Mittel, um alle syntaktisch korrekten Sätze (hier: Wörter) einer Sprache zu erzeugen. Beispiel: Eine vereinfachte
Mehr1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen. I.2. I.2. Grundlagen von von Programmiersprachen.
1. Der Begriff Informatik 2. Syntax und Semantik von Programmiersprachen I.2. I.2. Grundlagen von von Programmiersprachen. - 1 - 1. Der Begriff Informatik "Informatik" = Kunstwort aus Information und Mathematik
Mehr4. Induktives Definieren - Themenübersicht
Induktives Definieren 4. Induktives Definieren - Themenübersicht Induktives Definieren Natürliche Zahlen Operationen auf natürlichen Zahlen Induktive Algorithmen Induktiv definierte Mengen Binärbäume Boolesche
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2015 22.04.2015 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrKapitel 4: Syntaxdiagramme und Grammatikregeln
4. Syntaxdiagramme und Grammatikregeln 4-1 Objektorientierte Programmierung (Winter 2006/2007) Kapitel 4: Syntaxdiagramme und Grammatikregeln Syntaxdiagramme Grammatikregeln (kontextfrei) Beispiele: Lexikalische
MehrFormale Sprachen, reguläre und kontextfreie Grammatiken
Formale Sprachen, reguläre und kontextfreie Grammatiken Alphabet A: endliche Menge von Zeichen Wort über A: endliche Folge von Zeichen aus A A : volle Sprache über A: Menge der A-Worte formale Sprache
MehrEinführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie
Einführung in Berechenbarkeit, Formale Sprachen und Komplexitätstheorie Wintersemester 2005/2006 07.11.2005 5. Vorlesung 1 Überblick: Kontextfreie Sprachen Formale Grammatik Einführung, Beispiele Formale
MehrWas bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen
Was bisher geschah Chomsky-Hierarchie für Sprachen: L 0 Menge aller durch (beliebige) Grammatiken beschriebenen Sprachen L 1 Menge aller monotonen (Kontextsensitive) Sprachen L 2 Menge aller kontextfreien
MehrLemma Für jede monotone Grammatik G gibt es eine kontextsensitive
Lemma Für jede monotone Grammatik G gibt es eine kontextsensitive Grammatik G mit L(G) = L(G ). Beweis im Beispiel (2.): G = (V,Σ, P, S) : P = {S asbc, S abc, CB BC, ab ab, bb bb, bc bc, cc cc}. (i) G
MehrGrammatiken. Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen
Grammatiken Grammatiken sind regelbasierte Kalküle zur Konstruktion von Systemen und Sprachen Überprüfung von Systemen und Sprachen Grammatiken eignen sich besonders zur Modellierung beliebig tief geschachtelter,
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 5. Vorlesung 09.11.2006 schindel@informatik.uni-freiburg.de 1 Äquivalenzklassen Definition und Beispiel Definition Für eine Sprache L Σ* bezeichnen
MehrGrammatiken. Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V. Startsymbol S V. Kurzschreibweise G = (V, Σ, P, S)
Grammatiken Eine Grammatik G mit Alphabet Σ besteht aus: Variablen V Startsymbol S V Produktionen P ( (V Σ) \ Σ ) (V Σ) Kurzschreibweise G = (V, Σ, P, S) Schreibweise für Produktion (α, β) P: α β 67 /
Mehr6 Kontextfreie Grammatiken
6 Kontextfreie Grammatiken Reguläre Grammatiken und damit auch reguläre Ausdrücke bzw. endliche Automaten haben bezüglich ihres Sprachumfangs Grenzen. Diese Grenzen resultieren aus den inschränkungen,
Mehr1. Formale Sprachen 1.2 Grammatiken formaler Sprachen
1. Formale Sprachen 1.2 Grammatiken formaler Sprachen Die Regeln zur Bildung korrekter Wörter einer Sprache kann man in einer natürlichen Sprache formulieren. Da dies jedoch wieder Mehrdeutigkeiten mit
MehrLogik I. Symbole, Terme, Formeln
Logik I Symbole, Terme, Formeln Wie jede geschriebene Sprache basiert die Prädikatenlogik erster Stufe auf einem Alphabet, welches aus den folgenden Symbolen besteht: (a) Variabeln wie zum Beispiel v 0,v
MehrGrammatik Prüfung möglich, ob eine Zeichenfolge zur Sprache gehört oder nicht
Zusammenhang: Formale Sprache Grammatik Formale Sprache kann durch Grammatik beschrieben werden. Zur Sprache L = L(G) gehören nur diejenigen Kombinationen der Zeichen des Eingabealphabets, die durch die
MehrFormale Sprachen und Grammatiken
Formale Sprachen und Grammatiken Jede Sprache besitzt die Aspekte Semantik (Bedeutung) und Syntax (formaler Aufbau). Die zulässige und korrekte Form der Wörter und Sätze einer Sprache wird durch die Syntax
MehrFormale Sprachen. Inhalte. Lehrplan. Hinweis
Formale Sprachen Inhalte Aufbau von Sprachen Grammatiken formaler Sprachen Endliche Automaten *Grenzen endlicher Automaten Werkzeuge TdI, 2. Juli 2010 Peter Brichzin 1 TdI, 2. Juli 2010 Peter Brichzin
MehrGrundlagen der Informatik. Prof. Dr. Stefan Enderle NTA Isny
Grundlagen der Informatik Prof. Dr. Stefan Enderle NTA Isny 1. Automaten und Sprachen 1.1 Endlicher Automat Einen endlichen Automaten stellen wir uns als Black Box vor, die sich aufgrund einer Folge von
MehrProgrammieren I. Formale Sprachen. www.kit.edu. Institut für Angewandte Informatik
Programmieren I Formale Sprachen KIT Universität des Landes Baden-Württemberg und nationales Großforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu Formale Sprachen: Allgemeines Sprachen werden
MehrMehrdeutige Grammatiken
Mehrdeutige Grammatiken Wir haben gesehen, dass es auch mehr als eine Linksableitung, d.h. mehr als einen Syntaxbaum geben kann, um das selbe Terminalwort zu erzeugen. Eine Grammatik, die für mindestens
MehrAlgorithmen & Programmierung. Steuerstrukturen im Detail Selektion und Iteration
Algorithmen & Programmierung Steuerstrukturen im Detail Selektion und Iteration Selektion Selektion Vollständige einfache Selektion Wir kennen schon eine Möglichkeit, Selektionen in C zu formulieren: if
MehrTheorie der Informatik
Theorie der Informatik 6. Formale Sprachen und Grammatiken Malte Helmert Gabriele Röger Universität Basel 17. März 2014 Einführung Beispiel: Aussagenlogische Formeln Aus dem Logikteil: Definition (Syntax
MehrBegriffe (Wiederholung)
Begriffe (Wiederholung) Sprache Menge aller Sätze Alphabet terminales / nicht terminales terminales A. Zeichen aus denen die Sätze der Sprache bestehen nicht terminales A. Hilfszeichen zum Bilden von Regeln
MehrKapitel 2: Formale Sprachen Gliederung. 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie
Gliederung 0. Grundbegriffe 1. Endliche Automaten 2. Formale Sprachen 3. Berechnungstheorie 4. Komplexitätstheorie 2.1. 2.2. Reguläre Sprachen 2.3. Kontextfreie Sprachen 2/1, Folie 1 2015 Prof. Steffen
MehrGrundlagen der Programmiersprachen
Grundlagen der Programmiersprachen Syntax und ihre Definition Alphabete und Sprachen Syntaxdiagramme und Backus-Naur-Form Semantik und ihre Definition funktionale Semantik vom ML Fixpunktberechnung Motivation
MehrProgrammierkurs II. C und Assembler
Programmierkurs II C und Assembler Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2003 1-1 Inhalt Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke
MehrEmpfehlenswerte Referenzen
Wenn Google etwas nicht finden kann, fragen sie Jack Bauer. ("Fakten über Jack Bauer") Inhalt Empfehlenswerte Referenzen...1 0 Wozu reguläre Ausdrücke?...1 1 Die Elemente regulärer Ausdrücke...2 2 Ein
MehrKontextfreie Grammatiken. Kontextfreie Grammatiken 1 / 45
Kontextfreie Grammatiken Kontextfreie Grammatiken 1 / 45 Was kann man mit kontextfreien Grammatiken anfangen? Kontextfreie Grammatiken, kurz: werden zur Modellierung von KFGs beliebig tief geschachtelten
MehrTeil IX. Eine kleine Programmiersprache
Teil IX Eine kleine Programmiersprache 1 Teil IX.1 Syntaktische Beschreibungsmittel 2 Chomsky Grammatik Eine Chomsky Grammatik wird beschrieben mit einem Quadrupel G = (N, T, P, S). Dabei ist: N die Menge
MehrObjektorientierte Programmierung. Kapitel 3: Syntaxdiagramme und Grammatikregeln
Stefan Brass: OOP (Java), 3. Syntaxdiagramme und Grammatikregeln 1/32 Objektorientierte Programmierung Kapitel 3: Syntaxdiagramme und Grammatikregeln Stefan Brass Martin-Luther-Universität Halle-Wittenberg
MehrFormale Methoden 1. Gerhard Jäger 28. November Uni Bielefeld, WS 2007/2008 1/15
1/15 Formale Methoden 1 Gerhard Jäger Gerhard.Jaeger@uni-bielefeld.de Uni Bielefeld, WS 2007/2008 28. November 2007 2/15 Formale Sprache: Menge von Symbolketten Theorie formaler Sprachen Formale Sprachen
MehrProgrammierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen
Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2005 1-1 Inhalt (1) Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke 4. Ablaufsteuerung (Kontrollstrukturen)
MehrProgrammierkurs II. Prof. Dr. Wolfgang Effelsberg. Universität Mannheim. Sommersemester Wolfgang Effelsberg Programmiersprachen
Prof. Dr. Wolfgang Effelsberg Universität Mannheim Sommersemester 2005 1-1 Inhalt (1) Teil I: Die Programmiersprache C 2. Datentypen und Deklarationen 3. Operatoren und Ausdrücke 4. Ablaufsteuerung (Kontrollstrukturen)
MehrFormale Sprachen und endliche Automaten
Formale Sprachen und endliche Automaten Formale Sprachen Definition: 1 (Alphabet) Ein Alphabet Σ ist eine endliche, nichtleere Menge von Zeichen oder Symbolen. Ein Wort über dem Alphabet Σ ist eine endliche
MehrFormale Sprachen. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marian KOGLER
Formale Sprachen Grammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marian KOGLER Grammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind Grammatiken.
MehrLR-Parser, Shift-Reduce-Verfahren
LR-Parser, Shift-Reduce-Verfahren Bottom-Up-Syntaxanalyse LR-Parser L: Eingabe von links nach rechts; R: Rechtsherleitung Shift-Reduce-Verfahren Beachte: Kein Backtracking nicht auf jede Grammatik anwendbar
MehrFunktionale Programmierung ALP I. λ Kalkül WS 2012/2013. Prof. Dr. Margarita Esponda. Prof. Dr. Margarita Esponda
ALP I λ Kalkül WS 2012/2013 Berechenbarkeit - inspiriert durch Hilbert's Frage - im Jahr 1900, Paris - Internationaler Mathematikerkongress Gibt es ein System von Axiomen, aus denen alle Gesetze der Mathematik
MehrDank. Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I. Reguläre Ausdrücke als Suchmuster für grep
Dank Vorlesung Grundlagen der Theoretischen Informatik / Einführung in die Theoretische Informatik I Bernhard Beckert Diese Vorlesungsmaterialien basieren ganz wesentlich auf den Folien zu den Vorlesungen
Mehr3. Zeichenreihen und formale Sprachen
3. Zeichenreihen und formale Sprachen 3.1. Definition formaler Sprachen Def. 3.1: Eine endliche Menge von Symbolen heißt Zeichenvorrat ; die Elemente des ZV heißen Zeichen: α ; ein ZV mit einer darauf
MehrInformatik III. Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung
Informatik III Christian Schindelhauer Wintersemester 2006/07 6. Vorlesung 10.11.2006 schindel@informatik.uni-freiburg.de 1 Kapitel IV Kontextfreie Sprachen Kontextfreie Grammatik Informatik III 6. Vorlesung
MehrVon der Grammatik zum AST
Von der Grammatik zum AST Welche Eigenschaften soll ein Parser haben? Wann ist eine Grammatik eindeutig? Wie sollte eine Grammatik aussehen? Theoretischer Hin tergrund: FIRST, FOLLOW Einschränkungen von
MehrKontextfreie Grammatiken
Kontextfreie Grammatiken Bisher haben wir verschiedene Automatenmodelle kennengelernt. Diesen Automaten können Wörter vorgelegt werden, die von den Automaten gelesen und dann akzeptiert oder abgelehnt
MehrAutomaten und formale Sprachen Klausurvorbereitung
Automaten und formale Sprachen Klausurvorbereitung Rami Swailem Mathematik Naturwissenschaften und Informatik FH-Gießen-Friedberg Inhaltsverzeichnis 1 Definitionen 2 2 Altklausur Jäger 2006 8 1 1 Definitionen
Mehr9 Theoretische Informatik und Compilerbau
9 Theoretische Informatik und Compilerbau Theoretische Informatik und Mathematik schaffen die Basis für viele der technischen Entwicklungen, die wir in diesem Buch besprechen. Die boolesche Algebra (S.
MehrWS06/07 Referentin: Katharina Blinova. Formale Sprachen. Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven
WS06/07 Referentin: Katharina Blinova Formale Sprachen Hauptseminar Intelligente Systeme Dozent: Prof. Dr. J. Rolshoven 1. Allgemeines 2. Formale Sprachen 3. Formale Grammatiken 4. Chomsky-Hierarchie 5.
MehrProgrammierung WS12/13 Lösung - Übung 1 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder
Prof. aa Dr. J. Giesl Programmierung WS12/13 M. Brockschmidt, F. Emmes, C. Otto, T. Ströder Tutoraufgabe 1 (Syntax und Semantik): 1. Was ist Syntax? Was ist Semantik? Erläutern Sie den Unterschied. 2.
MehrInhalt Kapitel 5: Syntax
Inhalt Kapitel 5: Syntax 1 Syntax und Semantik 2 Formale Sprachen 3 Backus-Naur Form 4 Chomsky Grammatik 5 Reguläre Ausdrücke 6 Endliche Automaten 180 Syntax und Semantik Syntax Syntax: Festlegung des
MehrTheoretische Grundlagen der Informatik
Theoretische Grundlagen der Informatik Vorlesung am 15.01.2015 INSTITUT FÜR THEORETISCHE 0 KIT 15.01.2015 Universität des Dorothea Landes Baden-Württemberg Wagner - Theoretische und Grundlagen der Informatik
Mehr1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 9. März 24 7. Reguläre Sprachen I Theorie der Informatik 7. Reguläre Sprachen I Malte Helmert Gabriele Röger Universität Basel 9. März 24 7. Reguläre Grammatiken 7.2 DFAs 7.3 NFAs
MehrAlgorithmen und Datenstrukturen I - Exkurs Formale Sprachen -
Algorithmen und Datenstrukturen I - Exkurs Formale Sprachen - Thies Pfeiffer Technische Fakultät tpfeiffe@techfak.uni-bielefeld.de Vorlesung, Universität Bielefeld, Winter 2012/2013 1 / 1 Exkurs: Formale
MehrDas Postsche Korrespondenzproblem
Das Postsche Korrespondenzproblem Eine Instanz des PKP ist eine Liste von Paaren aus Σ Σ : (v 1, w 1 ),..., (v n, w n ) Eine Lösung ist eine Folge i 1,..., i k von Indizes 1 i j n mit v i1... v ik = w
MehrEinführung in die Logik
Einführung in die Logik Klaus Madlener und Roland Meyer 24. April 2013 Inhaltsverzeichnis 1 Aussagenlogik 1 1.1 Syntax................................. 1 1.2 Semantik............................... 3 1.3
MehrLexikalische Programmanalyse der Scanner
Der Scanner führt die lexikalische Analyse des Programms durch Er sammelt (scanned) Zeichen für Zeichen und baut logisch zusammengehörige Zeichenketten (Tokens) aus diesen Zeichen Zur formalen Beschreibung
MehrEinführung in die Programmierung EBNF. Thomas R. Gross. Department Informatik ETH Zürich
252-0027 Einführung in die Programmierung EBNF Thomas R. Gross Department Informatik ETH Zürich Übersicht Es gibt vier elementare Ausdrucksmöglichkeiten in EBNF Sie lernen EBNF Beschreibungen zu lesen
MehrAbschnitt 2: Daten und Algorithmen
Abschnitt 2: Daten und Algorithmen 2. Daten und Algorithmen 2.1 Zeichenreihen 2.2 Datendarstellung durch Zeichenreihen 2.3 Syntaxdefinitionen 2.4 Algorithmen 2 Daten und Algorithmen Einf. Progr. (WS 08/09)
MehrFormale Sprachen. Script, Kapitel 4. Grammatiken
Formale Sprachen Grammatiken Script, Kapitel 4 erzeugen Sprachen eingeführt von Chomsky zur Beschreibung natürlicher Sprache bedeutend für die Syntaxdefinition und -analyse von Programmiersprachen Automaten
MehrJava für Anfänger Teil 2: Java-Syntax. Programmierkurs Manfred Jackel
Java für Anfänger Teil 2: Java-Syntax Programmierkurs 06.-10.10.2008 Manfred Jackel 1 Syntax für die Sprache Java public class Welcome { } Schlüsselworte Reservierte Worte Keywords Wortsymbol Syntax: griech.
MehrAlgorithmen & Programmierung. Ausdrücke & Operatoren (1)
Algorithmen & Programmierung Ausdrücke & Operatoren (1) Ausdrücke Was ist ein Ausdruck? Literal Variable Funktionsaufruf Ausdruck, der durch Anwendung eines einstelligen (unären) Operators auf einen Ausdruck
MehrGrundlagen der Theoretischen Informatik
Grundlagen der Theoretischen Informatik Sommersemester 2016 20.04.2016 Viorica Sofronie-Stokkermans e-mail: sofronie@uni-koblenz.de 1 Bis jetzt 1. Terminologie 2. Endliche Automaten und reguläre Sprachen
MehrInformatik 12 Kapitel 1 - Formale Sprachen
Fachschaft Informatik Informatik 12 Kapitel 1 - Formale Sprachen Michael Steinhuber König-Karlmann-Gymnasium Altötting 6. November 2016 Folie 1/55 Inhaltsverzeichnis 1 Aufbau von Sprachen 2 Grammatiken
MehrFORMALE SYSTEME. Sprachen beschreiben. Wiederholung. Wie kann man Sprachen beschreiben? 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie
Wiederholung FORMALE SYSTEME 2. Vorlesung: Grammatiken und die Chomsky-Hierarchie Markus Krötzsch Formale Sprachen sind in Praxis und Theorie sehr wichtig Ein Alphabet ist eine nichtleere, endliche Menge
MehrParsing regulärer Ausdrücke. Karin Haenelt
Karin Haenelt 25.4.2009 1 Inhalt kontextfreie Grammatik für reguläre Ausdrücke Grundlagen Parsebaum: konkrete Syntax Syntaxbaum: abstrakte Syntax Algorithmus: rkennung Konstruktion des Syntaxbaumes 2 Grammatik
MehrFormale Sprachen. Grammatiken. Grammatiken und die Chomsky-Hierarchie. Rudolf FREUND, Marion OSWALD. Grammatiken: Ableitung
Formale Sprachen rammatiken und die Chomsky-Hierarchie Rudolf FREUND, Marion OSWALD rammatiken Das fundamentale Modell zur Beschreibung von formalen Sprachen durch Erzeugungsmechanismen sind rammatiken.
MehrGrundlagen der theoretischen Informatik
Grundlagen der theoretischen Informatik Kurt Sieber Fakultät IV, Department ETI Universität Siegen SS 2013 Vorlesung vom 09.04.2013 Inhalt der Vorlesung Teil I: Automaten und formale Sprachen (Kurt Sieber)
Mehr1 Σ endliches Terminalalphabet, 2 V endliche Menge von Variablen (mit V Σ = ), 3 P (V (Σ ΣV )) {(S, ε)} endliche Menge von Regeln,
Theorie der Informatik 8. März 25 8. Reguläre Sprachen I Theorie der Informatik 8. Reguläre Sprachen I 8. Reguläre Grammatiken Malte Helmert Gabriele Röger 8.2 DFAs Universität Basel 8. März 25 8.3 NFAs
MehrAussagenlogik. Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle
Aussagenlogik Motivation Syntax Semantik Erfüllbarkeit SAT-Solver Kompaktheit Beweiskalküle Theoretische Informatik: Logik, M. Lange, FB16, Uni Kassel: 3.1 Aussagenlogik Syntax 22 Einführendes Beispiel
Mehr1 EINFÜHRUNG PROGRAMMIERSPRACHEN
1 EINFÜHRUNG PROGRAMMIERSPRACHEN Leitidee: Von der Maschinensprache zur höheren Programmiersprache und zurück Von-Neumann-Maschine als abstraktes Computermodell Maschinensprache des hypothetischen Rechners
MehrEinführung in die Informatik Grammars & Parsers
Einführung in die Informatik Grammars & Parsers Grammatiken, Parsen von Texten Wolfram Burgard Cyrill Stachniss 12.1 Einleitung Wir haben in den vorangehenden Kapiteln meistens vollständige Java- Programme
Mehr2.1 Grundlagen: Kontextfreie Grammatiken
2.1 Grundlagen: Kontextfreie Grammatiken Programme einer Programmiersprache können unbeschränkt viele Tokens enthalten, aber nur endlich viele Token-Klassen :-) Als endliches Terminal-Alphabet T wählen
MehrSyntax von Programmiersprachen
Syntax von Programmiersprachen SEP 209 Programmiersprachen Sprache = Menge von Wörtern, typischerweise unendlich Programmiersprache: Wörter repräsentieren Programme Programm kann auf einem Computer evtl.
MehrGrammatiken und ANTLR
Grammatiken und ANTLR Zusatzfolien zu Algo Blatt 6 Author: Henry Schaefer http://www.majeeks.de/folien_blatt6.pdf Grammatik Definition: syntaktische Beschreibung einer Sprache (H.S.) Definiton Grammatik
MehrEinführung Grundbegriffe
Einführung Grundbegriffe 1.1 Der Modellbegriff Broy: Informatik 1, Springer 1998 (2) Die Modellbildung der Informatik zielt auf die Darstellung der unter dem Gesichtspunkt einer gegebenen Aufgabenstellung
Mehr