Startseite   |  Site map   |  A-Z artikel   |  Artikel einreichen   |   Kontakt   |  
  


informatik artikel (Interpretation und charakterisierung)

Sprache

Bnf und syntaxdiagramme


1. Java
2. Viren

1. Allgemeinesr / 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 Worte erzeugt oder die Korrektheit vorhandener Ausdrücke überprüft werden. Dazu müssen sie über eine sogenannte Metasprache verfügen. Nachstehend die Erklärung der verschiedenen Begriffe.

Sprachen sind durch folgenden Aufbau gekennzeichnet:

 Alphabet: eine vorgegebene Menge von Symbolen (Zeichen), aus denen die sprachlichen Elemente aufgebaut sind.
 Grammatik: Regeln, die angeben, auf welche Weise die Zeichen und Worte zusammenzufügen sind, um einen gültigen Satz zu erhalten.
 Semantik: Bedeutung syntaktisch richtiger Zeichenkette.

Die Syntax einer Sprache wird durch die beiden Elemente Alphabet und Grammatik gebildet.









1.2 Grammatiken

Die Grammatik einer Sprache kann nicht durch sie selbst beschrieben werden, es wird eine "Über-Sprache" benötigt. Die Sprache zum Beschreiben der sogenannten Objektsprache wird als Metasprache bezeichnet.

Eine Grammatik beinhaltet folgende Angaben:

 Menge der Terminalsymbole (Grundsymbole), der Zeichenvorrat, aus dem Worte der Sprache gebildet werden können.
 Menge der Nonterminalsymbole (Hilfssymbole), sie stellen Platzhalter für diverse Wortmengen dar.
 Menge der Produktionsregeln, mit denen festgelegt wird, wie gewisse Symbole durch Hilfs- oder Terminalsymbole ersetzt werden können.
 ein Startsymbol ( aus der Menge der Hilfssymbole).


Daraus ergibt sich, daß ein Wort über dem Alphabet genau dann zur Sprache gehört, wenn es ausgehend vom Startsymbol unter Anwendung der Produktionsregeln erzeugt werden kann.

Die Grammatik G einer Sprache läßt sich als mathematisches System G=(Φ,Σ,P,S) festlegen. Φ ist die Menge der Hilfs-, ∑ die Menge der Terminalsymbole, P die Menge der Regeln und S das Startsymbol.

Grammatiken lassen sich aufgrund der Struktur der Produktionsregeln in vier verschiedene Typen einteilen. Der Typ der Grammatik bestimmt die Mächtigkeit der von ihr erzeugten Sprache. Die vier Typen sind nach Chomsky folgendermaßen aufgebaut, wobei die reguläre Grammatik die einfachste, die allgemeine die koplexeste Grammatik ist:

 reguläre Grammatik (Typ 3): auf der linken Seite einer Regel steht genau ein Hilfssymbol, auf der rechten nur ein Terminalsymbol, oder ein Terminal- gefolgt von einem Hilfssymbol.
 kontextfreie Grammatik (Typ 2): links steht ebenfalls immer ein Hilfssymbol, rechts können beliebig kombiniert Terminal- und Hilfssymbole stehen.
 kontextsensitive Grammatik (Typ 1): auf der linken Seite sind zusätzlich zum Hilfs- auch Terminalsymbole gestattet, welche als Kontext bezeichnet werden; rechts bleibt der Kontext unverändert erhalten, das Nonterminalsymbol kann beliebig ersetzt werden.
 allgemeine Regelgrammatik (Typ 0): sowie links als auch rechts sind beliebige Kombinationen von Terminal- und Nonterminalsymbolen gestattet.


2. Backus-Naur-Form (BNF)

2.1 Anwendung und Formen der BNF

Die BNF wurde entwickelt, um die Syntax von Programmiersprachen zu definieren. Sie beschreibt kontextfreie Grammatiken in Textform. Weiterentwicklungen sind die erweiterte BNF (EBNF) und die allgemeine BNF (ABNF). Sie unterscheiden sich nur durch zusätzliche Metysymbole. Metysymbole der einzelnen Darstellungsformen sind:















2.2 Beispiel zur BNF

In ADA müssen (Bezeichner) mit einem Buchstaben beginnen, danach können Buchstaben sowie Zahlen kommen, die zusätzlich durch einen Unterstrich getrennt werden können.

∑={0, 1, 2, 3, 4, 5, 6, 7, 8, 9, A, B, C, D, E, F, ..., Z, a, b, c, d, e, f, ..., _}

Φ={ , , , , , }
S=

Produktionsregeln:

::= 0|1|2|3|4|5|6|7|8|9

::= A|B|C|D|E|F|G|H|I|J|K|L|M| ...
::= _
::= |
::= |
::= |


Ein richtiges wird nun erstellt, indem folgende Schritte angewandt werden:

1. Ausgangspunkt ist Startsymbol
2. die diesem Hilfssymbol zugeordnete Produktionsregel suchen (ist die Regel, bei der das Hilfssymbol auf der linken Seite steht)
3. eine Alternative dieser Regel wählen
4. mit den Hilfssymbolen dieser Alternative die beiden vorhergehenden Punkte wiederholen, bis nur noch Terminalsymbole vorhanden sind


2.3 Beispiel zur EBNF

Die Produktionsregeln des oben angeführten Beispieles würden sich bei der EBNF wie folgt ändern:


, , , und wie oben
::= {}

2.4 Beispiel zur ABNF

Bei der ABNF kann das Hilfssymbol entfallen.

, , und wie oben

::= {[] }


2.5 Ableitungsbaum

Ein Ableitungsbaum visualisiert die Anwendung der Regeln auf eine Zeichenkette und hilft so, die Korrektheit der Syntax zu überprüfen. Die Wurzel des Baumes ist das Startsymbol, die Knoten stellen die einzelnen Hilfssymbole dar und die Blätter die Grundsymbole.
Als Beispiel wird ein Ableitungsbaum der Zeichenfolge "Int_2" mit Anwendung der in Punkt 2.2 angeführten Regeln dargestellt.






















3. Syntaxdiagramme

3.1 Zusammenhang zwischen Syntaxdiagrammen und BNF

Syntaxdiagramme sind durch die graphische Darstellung wesentlich übersichtlicher als eine BNF. Ein Diagramm entspricht immer einer Produktionsregel von einem Hilfssymbol. Der Zusammenhang von BNF und Syntaxdiagrammen ist:

Anwendung Regel der BNF Element im Diagramm

Terminalsymbol
::= Hans Name:

Hilfssymbol
::= Name:

Sequenz
::= Name:

Einfache Alternative
::= [] Name:

Mehrfache Alternative

::= ||...| Name:

Wiederholung (mind. Einmaliges Auftreten)
::= {}

Name:

Wiederholung
(auch keinmal)
::= {} Name:


3.2 Beispiel: vorzeichenlose Realzahl (PASCAL)



Zahl:






Ziffer:







3.3 Anwendungsmöglichkeiten

. Synthese: Die Generierung von gültigen Sprachelementen; am Eingang des Startdiagramms folgt man der Pfeilrichtung - bei Verzweigung nach Bedarf - und "entnimmt" die erhaltenen Terminalsymbole. Kommt man auf ein rechteckiges Feld, wird das dort bezeichnete Diagramm eingesetzt. Sobald der Ausgang erreicht wird, ist ein zulässiges Sprachelement gebildet.

. Analyse: Aufgrund einer vorgegebenen Zeichenfolge wird entschieden, ob diese eine Sprachelement darstellt. Dazu müssen beim Durchlaufen des entsprechenden Diagramms die Zeichen der Reihe nach gefunden werden. Gelingt es, den Ausgang zu erreichen, ist die Zeichenkette syntaktisch richtig.






SYNTAXDIAGRAMME UND BNF



 zur Syntax-Beschreibung von Programmiersprachen

 BNF = Backus-Naur-Form

 Beschreibung in Textform

 entspricht einer Grammatik
 verschiedene Varianten:

 BNF ..... ALGOL
 EBNF ... PASCAL

 ABNF ... ADA


 Syntax-Diagramme:


 graphische Darstellung
 übersichtlicher als BNF




EBNF

 erweiterte BNF

 Meta-Zeichen:

< > ... für Hilfssymbole

::= ... Definitions-Symbol
| ... für Alternativen

--------------------------------------
{} ... für Wiederholungen







BEISPIEL: Namen in Pascal


1) ::= {}
2) ::= |

3) ::= A|B| ... |Z|a|b| ... |z
4) ::= 0|1|2| ... |9



Ableitung

1->
3-> z

2-> z
4-> z 3

2-> z 3

3-> z 3 a


Ableitungsbaum























SYNTAX-DIAGRAMME




 statt Hilfssymbol:


 Terminalsymbole:



 Beispiel:


ident:





l_o_d:





digit:

 
 

Datenschutz
Top Themen / Analyse
indicator Der SQS-Plan
indicator Farbe bei Nadeldruckern
indicator Die Technik des Computers:
indicator Internet heute
indicator Mikromechanische Pumpen
indicator Modems
indicator Online Marketing
indicator DATEN SIND ZENTRAL
indicator NFS - Network File System
indicator Klassen und Objekte --


Datenschutz
Zum selben thema
icon Netzwerk
icon Software
icon Entwicklung
icon Windows
icon Programm
icon Unix
icon Games
icon Sicherheit
icon Disk
icon Technologie
icon Bildung
icon Mp3
icon Cd
icon Suche
icon Grafik
icon Zahlung
icon Html
icon Internet
icon Hardware
icon Cpu
icon Firewall
icon Speicher
icon Mail
icon Banking
icon Video
icon Hacker
icon Design
icon Sprache
icon Dvd
icon Drucker
icon Elektronisches
icon Geschichte
icon Fehler
icon Website
icon Linux
icon Computer