Systemnahe Programmierung in C: Syntax für Anweisungen
Syntax für Anweisungen
Anweisungen
Statements
Stmt
::=
NullStmt
|
JumpStmt
|
LabelStmt
|
ExprStmt
|
Block
|
BranchStmt
|
LoopStmt
NullStmt
::=
;
ExprStmt
::=
Expr
;
Block
::=
{
DeclarationList
StatementList
}
DeclarationList
::=
{
Declarartion
}
StatementList
::=
{
Stmt
}
Verzweigungs-
Anweisungen
BranchStmt
::=
IfStmt
|
SwitchStmt
IfStmt
::=
if
(
Expr
)
Stmt
[
else
Stmt
]
Mehrweg-
Verzweigungen
vereinfachte Syntaxregeln für eine strukturierte Verwendung
SwitchStmt
::=
switch
(
Expr
)
{
Cases
}
Cases
::=
{
case
ConstExpr
:
StatementList
}
[
default
:
StatementList
]
ConstExpr
::=
Expr
ConstExpr müssen zur Übersetzungszeit ausgewertet werden können
Schleifen
LoopStmt
::=
WhileStmt
|
DoStmt
|
ForStmt
WhileStmt
::=
while
(
Expr
)
Stmt
DoStmt
::=
do
Stmt
while
(
Expr
)
;
ForStmt
::=
for
(
[
Expr
]
;
[
Expr
]
;
[
Expr
]
)
Stmt
Sprung-
Anweisungen
JumpStmt
::=
ReturnStmt
|
BreakStmt
|
ContinueStmt
|
GotoStmt
ReturnStmt
::=
return
[
Expr
]
;
BreakStmt
::=
break
;
ContinueStmt
::=
continue
;
GotoStmt
::=
goto
LabelName
;
LabelStmt
::=
LabelName
:
Stmt
Letzte Änderung: 11.01.2007
©
Prof. Dr. Uwe Schmidt