?*?: function with parameters signed int signed int returning signed int ?(): function with parameters number1: signed int number2: signed int returning signed int with body CompoundStmt Return Statement, returning: Applying untyped: Name: ?*? ...to: Name: number1 Name: number2 ?+?: function with parameters signed int signed int returning signed int ?=?: function with parameters pointer to signed int signed int returning signed int struct accumulator with members total: signed int ?=?: automatically generated inline static function with parameters _dst: pointer to instance of struct accumulator _src: instance of struct accumulator returning instance of struct accumulator with body CompoundStmt Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Member Expression, with field: total: signed int from aggregate: Applying untyped: Name: *? ...to: Variable Expression: _dst: pointer to instance of struct accumulator Member Expression, with field: total: signed int from aggregate: Variable Expression: _src: instance of struct accumulator Return Statement, returning: Variable Expression: _src: instance of struct accumulator ?(): function with parameters a: instance of struct accumulator number1: char number2: char returning char f: function returning nothing with body CompoundStmt Declaration of a: char Declaration of b: char Expression Statement: Applying untyped: Name: ?() ...to: Name: a Name: b Expression Statement: Applying untyped: Name: a ...to: Name: b Expression Statement: Applying untyped: Name: ?+? ...to: Name: a Name: b Declaration of ?+?: instance of struct accumulator Expression Statement: Applying untyped: Name: ?+? ...to: Name: a Name: b