f: function with parameters signed int signed int returning signed int g: function with parameters signed int signed int signed int returning signed int h: static function with parameters a: signed int b: signed int c: pointer to signed int d: open array of char returning signed int pointer to signed int pointer to signed int signed int struct inner with members f2: signed int f3: signed int struct outer with members f1: signed int i: instance of struct inner f4: double s: instance of struct outer sp: pointer to instance of struct outer t1: const volatile tuple of types signed int signed int t2: static const tuple of types signed int const signed int t3: static const tuple of types signed int const signed int printf: function with parameters fmt: pointer to char and a variable number of other arguments returning rc: signed int printf: function with parameters fmt: pointer to char and a variable number of other arguments returning signed int f1: function with parameters w: signed int returning x: short signed int y: unsigned int with body CompoundStmt Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: y Name: x Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: x Name: y Tuple: Name: w constant expression 23 signed int g1: function returning r: tuple of types signed int char long signed int signed int with body CompoundStmt Declaration of x: short signed int Declaration of p: short signed int Declaration of y: unsigned int Declaration of z: tuple of types signed int signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: x Name: y Name: z Tuple: Name: p Applying untyped: Name: f ...to: constant expression 17 signed int constant expression 3 signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: x Name: y Name: z Cast of: Tuple: Name: p Applying untyped: Name: f ...to: constant expression 17 signed int constant expression 3 signed int to: short signed int unsigned int tuple of types signed int signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: r Tuple: Name: x Name: y Name: z main: C function with parameters argc: signed int argv: pointer to pointer to char returning rc: signed int with body CompoundStmt Declaration of a: signed int Declaration of b: signed int Declaration of c: signed int Declaration of d: signed int Declaration of t: instance of struct outer with initializer Compound initializer: Simple Initializer: Tuple: Name: 1 constant expression 7.0 double designated by: Name: f1 Name: f4 Expression Statement: Applying untyped: Name: f ...to: Tuple: constant expression 3 signed int constant expression 5 signed int Expression Statement: Applying untyped: Name: g ...to: Tuple: constant expression 3 signed int constant expression 5 signed int constant expression 3 signed int Expression Statement: Applying untyped: Name: f ...to: Name: t1 Expression Statement: Applying untyped: Name: g ...to: Name: t1 constant expression 3 signed int Expression Statement: Tuple: Expression Statement: Tuple: constant expression 3 signed int constant expression 5 signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b constant expression 3 signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Tuple: constant expression 4.6 double Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: c Name: d Tuple: constant expression 3 signed int constant expression 5 signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Tuple: Name: c Tuple: constant expression 2 signed int Tuple: Name: a Name: b Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Conditional expression on: Cast of: Applying untyped: Name: ?!=? ...to: Applying untyped: Name: ?>? ...to: constant expression 3 signed int constant expression 4 signed int Name: 0 to: signed int First alternative: Tuple: Name: b constant expression 6 signed int Second alternative: Tuple: constant expression 7 signed int constant expression 8 signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: t1 Tuple: Name: a Name: b Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: t1 Applying untyped: Name: ?=? ...to: Address of: Name: t2 Tuple: Name: a Name: b Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: c Name: d Applying untyped: Name: ?+=? ...to: Address of: Name: d Applying untyped: Name: ?+=? ...to: Address of: Name: c Name: 1 Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: c Name: d Name: t1 Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Applying untyped: Name: ?=? ...to: Address of: Name: t1 Tuple: Name: c Name: d Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Applying untyped: Name: ?=? ...to: Address of: Name: t1 Applying untyped: Name: ?=? ...to: Address of: Name: t2 Tuple: Name: c Name: d Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: t1 Applying untyped: Name: ?=? ...to: Address of: Tuple: constant expression 3 signed int constant expression 4 signed int Applying untyped: Name: ?=? ...to: Address of: Tuple: constant expression 3 signed int constant expression 4 signed int Applying untyped: Name: ?=? ...to: Address of: Name: t1 Tuple: constant expression 3 signed int constant expression 4 signed int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: s Tuple: constant expression 11 signed int constant expression 12 signed int constant expression 13 signed int constant expression 3.14159 double Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: s Applying untyped: Name: h ...to: constant expression 3 signed int constant expression 3 signed int Name: 0 constant expression "abc" array of char with dimension of constant expression 6 unsigned int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Tuple: Name: a Name: b Applying untyped: Name: h ...to: constant expression 3 signed int constant expression 3 signed int Name: 0 constant expression "abc" array of char with dimension of constant expression 6 unsigned int Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: sp Name: sp Expression Statement: Applying untyped: Name: printf ...to: constant expression "expecting 3, 17, 23, 4; got %d, %d, %d, %d\n" array of char with dimension of constant expression 47 unsigned int Name: s Expression Statement: Applying untyped: Name: ?=? ...to: Address of: Name: rc Name: 0