Eintrag kommentierenEintrag bewerten
Dieser Eintrag wurde im Schnitt mit 0 von 5 Punkten bewertet
Glossareintrag
Grammatik
Glossar:21039
Externe Quellen zum Thema NEU: Externe Quellen zum Thema suchen 
Erläuterung
In den Sprachwissenschaften bezeichnet der Begriff Grammatik eine Menge von Regeln durch deren Anwendungen Sätze einer Sprache gebildet werden können. In der Informatik, speziell dem Compilerbau wird dem Begriff Grammatik ein streng formale Bedeutung zugemessen. Eine Grammatik umfasst dort im wesentlichen eine Menge von Regeln, mit deren Hilfe eine Ersetzungsoperation über bestimmte Symbolzeichenketten ausgeführt werden können. Es wird von einem Startsymbol ausgegangen, das ein initiales Wort ausmacht. Durch Anwendung einer Regel kann aus einem bestehenden Wort ein weiteres gebildet werden. Auf diese Weise könnten strukturierte „Sätze“ abgeleitet werden.
Beispiel-Grammatik (jede Zeile macht eine Regel aus):

Program --> Declaration*
Declaration --> PackDecl | FuncDecl |TypeDecl
PackDecl --> "package" IDENT ";"
FuncDecl --> Modifier TypeName IDENT "(" TypeDecl* ")" "{" Statement "}"
TypeDecl --> TypeName IDENT
TypeName --> "int" | "void" | IDENT
Statement --> ( Call | IF | While | ... ) “;”
Call --> IDENT "(" Expression ")"
Expression --> Const | IDENT;
Const --> STRING
IDENT --> [a-zA-z][a-zA-z0-9]*


Ein “Satz” entsprechend dieser Grammatik ist folgender Programmtext:

package error;
public void report(int code) {
 print(code);
}


Die Ableitung dieses Satzes kann durch folgende Schritte aufgezeigt werden (einige Schritte wurden ausgelassen):


Program
→ Declaration
→ Declaration Declaration
→ PackDecl FuncDecl
→ package error ; FuncDecl
→ package error ; Modifier TypeName IDENT "(" TypeDecl* ")" "{" Statement "}"
→ package error “;” public void report “(“ TypeDecl* “)” “{“ Statement “}”
→ package error “;” public void report “(“ int code “)” “{“ Call “}”
→ package error “;” public void report “(“ int code “)” “{“ IDENT “(“ Expression “)” “}”
→ package error “;” public void report “(“ int code “)” “{“ print “(“ code “)” “}”
Externe Quellen zum Thema NEU: Externe Quellen zum Thema suchen 
 Eintrag kommentieren 
 Eintrag bewerten 
Zu dieser Seite wurden noch keine Kommentare oder Bewertungen abgegeben.
 
Zum Seitenanfang Top Drucken Impressum AGB
Home

VSEK ©2001-2018