Whitespace cleanup
Use string `format()` instead of manually padding zeros

'{:016b}'
   ^ using zeros

'{:016b}'
    ^ pad such that the resulting string is length 16

'{:016b}'
      ^ using a binary number representation
More whitespace cleanup
Simplify `is_legal_var_name()`
Replace `var = var + expr` with `var += expr`
Shorten `parse_dest` with a generator comprehension
Giant dictionaries instead of giant case statements :)
Make giant dictionaries top-level constants
Factor out two small label-related functions
adding more file types to gitignore, merging in stashed changes