Implemented error checking for default not being last. Also altered
parser to allow multiple defaults but implemented syntax rules to stop
this later in compilation. This is to allow more readable error
messages.