ada: Consolidate parser to avoid some possible crashes

Avoid some possible and occuring NULL-pointer dereferences leading to
crashes.
ada: Fix infinite loop on malformed input

Closes #56
Merge pull request #105 from b4n/ada-crash-n-loop

ada: Fix crashes and infinite loops