* Remove wildcard imports
Use explicit imports rather than wildcards. This is more maintainable.
* Enable Pylint in CI and fix its errors
The main fixes were:
* Specify encoding for all file opens. By default it depends on environment variables which is bad.
* Use `with` to open files. Otherwise they don't necessarily get closed.
There were also a few minor things like using `enumerate`, not using objects as default arguments, etc. In some cases I slightly refactored the code.
* Added test cases for shared_utils
Signed-off-by: Aditya Mohan <coding.traxicon16@gmail.com>
* Added definition for logging an error shared_utils.py
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
* Pre-commit fixes for shared_utils.py
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
* pyright fixes for test.py
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
* Minor changes to shared_utils.py
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
* Updated test.py
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
---------
Signed-off-by: Aditya Mohan <coding.traxicon16@gmail.com>
Signed-off-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
Co-authored-by: Jay Dev Jha <jaydev.neuroscitech@gmail.com>
This makes the code easier to understand and navigate, and also detected a few of bugs:
1. Missing brackets on e.upper. (Fixed)
2. Not strictly related to types, but a lot of the regexes were not raw strings and therefore contained invalid escape sequences. Python prints a warning about these in recent versions. (Fixed)
3. Expression in `process_pseudo_instructions()` that is always false. (Not fixed)
4. Missing definition of `log_and_exit()`. (Fixed)
This is validated via pre-commit in CI.