update parsing to support function pointer, arrays, and variable names