Removed parenthesis around pointer dereference
The autogeneration line should be at the top of the file. This changes the autogeneration template to do so
Change the template string literals from vars to constants
Only parse templates once.

The script defines a number of templates, and then parses them for each unit. There is no
need to parse them more than once. This changes the parsing to be a variable declaration
rather than in the loop
Ran the autogen script with the previous commits