Skript Programmierung C/C++
Skript Programmierung C/C++
Skript Programmierung C/C++
Sie wollen auch ein ePaper? Erhöhen Sie die Reichweite Ihrer Titel.
YUMPU macht aus Druck-PDFs automatisch weboptimierte ePaper, die Google liebt.
BNF (Backus-Nauer-Form) - Formalisierung einer Grammatik mit den Bestandteilen:<br />
(1) Terminalsymbole (die gültigen bzw. verwendbaren Zeichen)<br />
(2) Nichtterminalsymbole (Bsp.: letter, statement, identifier, ...)<br />
(3) Produktionen (auch Ableitungsregeln)<br />
(4) Startsymbol (ausgezeichnetes Nichtterminalsymbol)<br />
digit ::= 0|1|2|3|4|...|9<br />
syntaktische Kategorie 10 Alternativen Terminalsymbole (nicht weiter zerlegbar)<br />
Nichtterminalsymbol<br />
::= Bedeutung "kann ersetzt werden durch"<br />
Schreibweisen in Produktion<br />
| Auswahlzeichen, Alternativen<br />
{} 1 genau 1 Term ist auszuwählen<br />
{} 0+ 0 oder mehr Term sind auszuwählen<br />
{} 1+ 1 oder mehr Term sind auszuwählen<br />
{} wahlfreier Term<br />
2.2 C-Schlüsselwörter<br />
C hat 32 Schlüsselwörter (siehe Folie F-9). Dies sind reservierte Namen, die nicht mehr als<br />
eigene Variablen angegeben werden dürfen.<br />
2.3 Namen<br />
Bestandteile:<br />
Klein- und Großbuchstaben, Ziffern, Unterstrich<br />
BNF<br />
identifier ::= {letter | underscore} 0<br />
{letter | underscore | digit} 0+<br />
!!! keine Ziffer am Anfang<br />
letter ::= lowercaseletter | uppercaseletter<br />
lowercaseletter ::= a | b | c ... /2<br />
uppercaseletter ::= A | B | C ... /2<br />
Regeln zur Namensvergabe:<br />
- am Anfang keine Ziffer<br />
- Variablen- und Funktionsnamen meist in Kleinbuchstaben<br />
- define-Konstanten meist in Großbuchstaben<br />
- mindestens die ersten 31 Zeichen werden unterschieden<br />
2.4 Ganzzahlige dezimale Konstanten<br />
BNF<br />
decimal_integer ::= 0 | positive_decimal_integer<br />
positive_decimal_integer ::= positive_digit {digit} 0+<br />
positive_digit ::= 1 | 2 | ... | 9<br />
Folge: führende Nullen nicht erlaubt!!!<br />
2.5 Zeichenkonstanten<br />
Zeichenketten : Klammerung mit "..."<br />
12