T: typedef for signed int 
f: function
    with parameters
      void 
    returning 
      void 
    with body 
      CompoundStmt
        Declaration of T: function
            with parameters
              instance of type T (not function type) 
            returning 
              signed int 

                  Expression Statement:
            Applying untyped: 
                Name: T
            ...to: 
constant expression 3 signed int 

struct __anonymous0
    with members
      T: instance of type T (not function type) 

fred: instance of struct __anonymous0 with initializer 
  Compound initializer:  
    Simple Initializer: constant expression 3 signed int 
a: typedef for pointer to function
    with parameters
      signed int 
      char 
    returning 
      signed int 

b: instance of type a (not function type) 
g: function
    with parameters
      void 
    returning 
      signed int 
    with body 
      CompoundStmt
        Declaration of a: double 

c: instance of type a (not function type) 
x: typedef for type-of expression constant expression 3 signed int 
y: typedef for type-of expression constant expression 3 signed int 
p: instance of type x (not function type) 
q: instance of type y (not function type) 
main: C function
      accepting unspecified arguments
    returning 
      signed int 
    with body 
      CompoundStmt
        Declaration of z: typedef for type-of expression constant expression 3 signed int 
        Declaration of p: typedef for type-of expression constant expression 3 signed int 
        Declaration of w: instance of type z (not function type) 
        Declaration of x: instance of type p (not function type) 

arrayOf10Pointers: typedef for array of pointer to signed int with dimension of constant expression 10 signed int 
array: instance of type arrayOf10Pointers (not function type) 
constantPointer: typedef for const pointer to signed int 
funcPtr: typedef for pointer to function
    with parameters
      open array of signed int 
    returning 
      signed int 

funcProto: typedef for function
    with parameters
      open array of signed int 
    returning 
      signed int 

tupleType: typedef for tuple of types
    signed int 
    signed int 

tupleTypePtr: typedef for pointer to tuple of types
    signed int 
    signed int 

a: typedef for pointer to signed int 
b: typedef for pointer to signed int 
f: typedef for function
    with parameters
      pointer to signed int 
    returning 
      signed int 

g: typedef for function
    with parameters
      pointer to signed int 
    returning 
      signed int 

t: typedef for tuple of types
    pointer to static array of signed int with dimension of constant expression 10 signed int 

f: typedef for function
    returning 
      x: pointer to static array of signed int with dimension of constant expression 10 signed int 

