Klassifikation
|
Expr ::= SelectorExpr
| PostfixExpr
| PrefixExpr
| CastExpr
| SizeofExpr
| BinaryExpr
| ConditionalExpr
| CommaExpr
|
| |
Selektor-Ausdrücke
|
SelectorExpr
::= FunctionCall
| ArrayIndexExpr
| StructSelector
| StructDereference
FunctionCall
::= Expr ( ActualParamList )
ActualParamList
::= [ Expr { , Expr } ]
ArrayIndexExpr
::= Expr [ Expr ]
StructSelector
::= Expr . FieldName
StructDereference
::= Expr -> FieldName
|
Unäre Ausdrücke
|
PostfixExpr
::= Expr PostfixOp
PostfixOp
::= ++ | --
PrefixExpr
::= PrefixOp Expr
PrefixOp
::= ! | ~ | + | - | ++ | -- | & | *
CastExpr
::= ( Type ) Expr
SizeofExpr
::= sizeof ( Type )
| sizeof Expr
|
| |
Binäre Ausdrücke
|
BinaryExpr
::= Expr BinaryOp Expr
BinaryOp
::= * | / | %
| + | -
| << | >>
| < | <= | > | >=
| == | !=
| &
| ^
| |
| &&
| ||
| = | *= | /= | %= | += | -=
| &= | ^= | |=
| <<= | >>=
|
| |
Bedingte Ausdrücke
|
ConditionalExpr
::= Expr ? Expr : Expr
|
| |
Ausdrucksfolgen
|
CommaExpr
::= Expr , Expr
|
| |