Skip to content

test_LogicGrammars fails in python 3.8 #98

@louiehub

Description

@louiehub

I am using python 3.8. When I run test_LogicGrammars.py, it complains as follows:

testHTMLTable (__main__.TestHTMLGrammars) ... ERROR
testLogLine (__main__.TestLogGrammar) ... ERROR
testLogicalExp (__main__.TestLogicGrammars) ... ERROR
testLogicalExpression (__main__.TestLogicGrammars) ... skipped 'overlapping inpu
t'
testTrueFalse (__main__.TestLogicGrammars) ... ERROR

======================================================================
ERROR: testHTMLTable (__main__.TestHTMLGrammars)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests\functional\test_LogicGrammars.py", line 60, in testHTMLTable
    result = parser.get_trees(lexed)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\parser\backtracing.py"
, line 36, in get_trees
    raise ValueError("Unknown element in %s" % str(data))
ValueError: Unknown element in [Token(content=['<', 't', 'a', 'b', 'l', 'e', '>'
], gd=['<', 't', 'a', 'b', 'l', 'e', '>']), Token(content=['<', 't', 'r', '>'],
gd=['<', 't', 'r', '>']), Token(content=['<', 't', 'd', '>'], gd=['<', 't', 'd',
 '>']), Token(content=['1'], gd=<pydsl.grammar.definition.RegularExpression obje
ct at 0x00000000034F7EB0>), Token(content=['<', '/', 't', 'd', '>'], gd=['<', '/
', 't', 'd', '>']), Token(content=['<', '/', 't', 'r', '>'], gd=['<', '/', 't',
'r', '>']), Token(content=['<', '/', 't', 'a', 'b', 'l', 'e', '>'], gd=['<', '/'
, 't', 'a', 'b', 'l', 'e', '>'])]

======================================================================
ERROR: testLogLine (__main__.TestLogGrammar)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests\functional\test_LogicGrammars.py", line 76, in testLogLine
    tokenized = lex(grammar.alphabet, ascii_encoding, original_string, force_lex
er="general")
TypeError: lex() got an unexpected keyword argument 'force_lexer'

======================================================================
ERROR: testLogicalExp (__main__.TestLogicGrammars)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests\functional\test_LogicGrammars.py", line 30, in testLogicalExp
    result = parser.get_trees(tokens)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\parser\backtracing.py"
, line 35, in get_trees
    if not all(check(self._productionset.alphabet, x) for x in data):
  File "C:\Program Files\Python38\lib\site-packages\pydsl\parser\backtracing.py"
, line 35, in <genexpr>
    if not all(check(self._productionset.alphabet, x) for x in data):
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 32, in
 check
    return checker(data, *args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 75, in
 __call__
    return self.check(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 219, i
n check
    return any((x.check(data) for x in self.checkerinstances))
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 219, i
n <genexpr>
    return any((x.check(data) for x in self.checkerinstances))
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 128, i
n check
    if not check(self.gd.alphabet, element):
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 32, in
 check
    return checker(data, *args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 75, in
 __call__
    return self.check(*args, **kwargs)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 218, i
n check
    data = self._normalize_input(data)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\check.py", line 82, in
 _normalize_input
    for x in data:
TypeError: 'BNFGrammar' object is not iterable

======================================================================
ERROR: testTrueFalse (__main__.TestLogicGrammars)
----------------------------------------------------------------------
Traceback (most recent call last):
  File "tests\functional\test_LogicGrammars.py", line 37, in testTrueFalse
    result = parser.get_trees(tokens)
  File "C:\Program Files\Python38\lib\site-packages\pydsl\parser\backtracing.py"
, line 36, in get_trees
    raise ValueError("Unknown element in %s" % str(data))
ValueError: Unknown element in [Token(content=['T', 'r', 'u', 'e'], gd=['T', 'r'
, 'u', 'e'])]

----------------------------------------------------------------------
Ran 5 tests in 0.193s

FAILED (errors=4, skipped=1)

I'm really confused what is going wrong here.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions