next up previous
Next: Expression contexts Up: Determining the types yielded Previous: Determining the types yielded

Operator indications

A correspondence must be set up between the C operator characters and the operator indications used in the formal specification (Section 4.1.3).

Instantiate modules[51]:

$/Type/PreDefOp.gnrc +referto=(Operator.d) :inst
This macro is defined in definitions 29, 49, 50, and 51.
This macro is invoked in definition 3.

Operator.d[52]:

PreDefInd('++',    post_lvalue_opr,     Plus_Plus_Indication)
PreDefInd('-',    post_lvalue_opr,     Minus_Minus_Indication)

PreDefInd('++',    lvalue_operator,     Plus_Plus_Indication)
PreDefInd('-',    lvalue_operator,     Minus_Minus_Indication)
PreDefInd('sizeof',lvalue_operator,     Sizeof_Indication)

PreDefInd('=',     assignment_operator, Equal_Indication)
PreDefInd('*=',    assignment_operator, Star_Equal_Indication)
PreDefInd('/=',    assignment_operator, Slash_Equal_Indication)
PreDefInd('%=',    assignment_operator, Percent_Equal_Indication)
PreDefInd('+=',    assignment_operator, Plus_Equal_Indication)
PreDefInd('-=',    assignment_operator, Minus_Equal_Indication)
PreDefInd('«=',   assignment_operator, Less_Less_Equal_Indication)
PreDefInd('»=',   assignment_operator, Greater_Greater_Equal_Indication)
PreDefInd('&=',    assignment_operator, Amper_Equal_Indication)
PreDefInd('^=',    assignment_operator, Caret_Equal_Indication)
PreDefInd('|=',    assignment_operator, Bar_Equal_Indication)

PreDefInd('SPMtilde;',     normal_operator,     Tilde_Indication)
PreDefInd('!',     normal_operator,     Bang_Indication)

PreDefInd('*',     normal_operator,     Star_Indication)
PreDefInd('/',     normal_operator,     Slash_Indication)
PreDefInd('%',     normal_operator,     Percent_Indication)

PreDefInd('+',     normal_operator,     Plus_Indication)
PreDefInd('-',     normal_operator,     Minus_Indication)

PreDefInd('«',    normal_operator,     Less_Less_Indication)
PreDefInd('»',    normal_operator,     Greater_Greater_Indication)

PreDefInd('<',     normal_operator,     Less_Indication)
PreDefInd('>',     normal_operator,     Greater_Indication)
PreDefInd('<=',    normal_operator,     Less_Equal_Indication)
PreDefInd('>=',    normal_operator,     Greater_Equal_Indication)

PreDefInd('==',    normal_operator,     Equal_Equal_Indication)
PreDefInd('!=',    normal_operator,     Bang_Equal_Indication)

PreDefInd('&',     normal_operator,     Amper_Indication)
 
PreDefInd('^',     normal_operator,     Caret_Indication)

PreDefInd('|',     normal_operator,     Bar_Indication)

PreDefInd('&&',    logical_operator,    Amper_Amper_Indication)
PreDefInd('||',    logical_operator,    Bar_Bar_Indication)
This macro is attached to a non-product file.


next up previous
Next: Expression contexts Up: Determining the types yielded Previous: Determining the types yielded
2008-08-30