Skip to content

Conversation

changeling
Copy link

These changes should bring the code up to a functional state for Python 3.8, including the retrieval of an antlr_python_runtime updated for Python 3.

Downloading the archive and executing pip install . from within the file directory of the downloaded target should, using this setup.py, install:

java2python
antlr_python3_runtime-3.1.3 (as antlr_python_runtime for dependency and antlr3 as package)
[from https://github.com/altigee/antlr-python3-runtime-3.1.3/archive/master.zip]

It's worth noting that Issue natural#62 on the upstream repo is still present, but seems to have an unincorporated fix, in PR natural#32 on that repo, that does seem to work.

`.next()` has been replaced with `next()` in Python 3. Fixed.
…)`. Updated `except` to use `as` keywords.

Replaced Python 2 `isinstance(x, file)` with Python 3 `isinstance(x, io.IOBase)`.  Fixed.
Python 3 no longer allows `file` in isinstance(), updated to use `io.IOBase`. Fixed.
Python 3 requires `as` keyword in `except`, in place of comma separator. Fixed.
`_levelNames` has been replaced with `_nameToLevel` in `logging`. Fixed.
Changed `print 'IOError: %s.' % (msg, )` to `print(f'IOError: {msg}.')`
…>>` to `file=` syntax.

Update Python 2 `print` statements to Python 3 `print()`, including `>>` to `file=` syntax.
Python 2 `print >> fd, str` syntax is now `print(str, file=fd)` in Python 3.
Implemented f-strings where relevant for these.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant