Menu

#310 Porting to python 3.8

v1.0_(example)
open
nobody
None
1
2021-05-04
2020-08-17
No

quex does not work on python3.8

Discussion

  • Mitchell Blank Jr

    Is there documentation about what python versions are supported now?

    I took a look at updating the homebrew formula for quex. Homebrew has python 3.7, 3.8, and 3.9 available currently. I hit some immediate issues with 3.8 but that seems to be fixed if I backported one little fix from the git head, but I'm not sure if that is really a complete fix for 3.7 use: https://github.com/Homebrew/homebrew-core/pull/70789

    Of course best would be an upstream release with an explicit indication of what python versions it can use.

     
  • Frank-Rene Schäfer

    I will look into it this weekend. Python 3.9 should be supported, then. Can you please, send me your use-case?

     
  • Mitchell Blank Jr

    I am not an end-user of quex. I was only looking into it as part of doing some maintenance works on Homebrew.

    Homebrew has had a quex build formula for a long time but until recently it was using a python-2 version (which has been deprecated in homebrew) and am just trying to get a reliable python 3 version integrated.

    See: https://github.com/Homebrew/homebrew-core/blob/master/Formula/quex.rb

    As mentioned above we are now using 0.71.0 but are using it with python 3.7 (the earliest homebrew supports) with it and are just working around obvious incompatibilities. Obviously a formal release that includes support for python 3.9 would be ideal from homebrew's perspective.

     
  • Tupone Alfredo

    Tupone Alfredo - 2021-05-02

    If I do
    python3.8 quex-exe.py
    I get
    Exception occurred -- please, report a bug under

    Getting a little inside I do

    python3.8
    from quex.blackboard import setup
    Traceback (most recent call last):
    File "<stdin>", line 1, in <module>
    File "/var/tmp/portage/dev-python/quex-0.71.0-r1/work/quex-0.71.0/quex/blackboard.py", line 22, in <module>
    setup = QuexSetup(SETUP_INFO, bc_factory)
    File "/var/tmp/portage/dev-python/quex-0.71.0-r1/work/quex-0.71.0/quex/input/setup.py", line 72, in init
    self.init(SetupInfo)
    File "/var/tmp/portage/dev-python/quex-0.71.0-r1/work/quex-0.71.0/quex/input/setup.py", line 130, in init
    elif entry[1] in SetupParTypes:
    File "/usr/lib/python3.8/enum.py", line 352, in contains
    raise TypeError(
    TypeError: unsupported operand type(s) for 'in': 'int' and 'EnumMeta'</module></module></stdin>

    And this is just the first stopper
    
    I have not tested with python3.9
    
    Without a fix I should remove quex from gentoo (date is 31 may) as support for python3.7 will be removed
    
     
  • Frank-Rene Schäfer

    OK, I am on it. However, on my linux machine I am not able to reproduce the error. I will try to submit a tar file this evening with a current stable version of Quex. If I get a chance, I am also investigating on MacOs.

     
  • Frank-Rene Schäfer

    I just uploaded version 0.71.2 in which I am definitely not able to see the issue anymore. Please, verify

     
  • Tupone Alfredo

    Tupone Alfredo - 2021-05-04

    Still does not work here on python3.8. It does on python 3.9. Maybe is my environment? However I am happy with it.

     

Log in to post a comment.