Menu

#306 RE: Backslash + Space causes assertion error

v1.0_(example)
closed
nobody
None
1
2020-05-20
2020-05-20
No

A file tmp.qx

  1 mode X {
  2     \  => QUEX_TKN_SPACE;                                                                                                                                                
  3 } 

invoked with

quex -i tmp.qx --debug-exception

causes an exception, namely

  File "/home/fschaef/prj/quex/git/quex-exe.py", line 48, in <module>
    core.do()
  File "/home/fschaef/prj/quex/git/quex/core.py", line 45, in do
    mode_db = _parse_modes_and_more(Setup.input_mode_files)
  File "/home/fschaef/prj/quex/git/quex/core.py", line 52, in _parse_modes_and_more
    mode_prep_prep_db = quex_file_parser.do(InputFileList)
  File "/home/fschaef/prj/quex/git/quex/input/files/core.py", line 44, in do
    parse_section(fh, mode_prep_prep_db)
  File "/home/fschaef/prj/quex/git/quex/input/files/core.py", line 67, in parse_section
    _parse_section(fh, position, word, mode_prep_prep_db, CustomizedTokenTypeF)
  File "/home/fschaef/prj/quex/git/quex/input/files/core.py", line 131, in _parse_section
    mode.parse(fh, mode_prep_prep_db)
  File "/home/fschaef/prj/quex/git/quex/input/files/mode.py", line 70, in parse
    _parse_pattern_action_pair(new_mode, fh)
  File "/home/fschaef/prj/quex/git/quex/input/files/mode.py", line 194, in _parse_pattern_action_pair
    __parse_pattern_and_action(new_mode, fh)
  File "/home/fschaef/prj/quex/git/quex/input/files/mode.py", line 197, in __parse_pattern_and_action
    pattern_list = regular_expression.parse_multiple_result(fh)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/core.py", line 25, in parse_multiple_result
    return __core(fh, AllowNothingIsNecessaryF=False,
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/core.py", line 62, in __core
    result = regex.do(sh, blackboard.shorthand_db,
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 131, in do
    pre, core, post = snap_conditional_expression(stream, PatternDict)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 222, in snap_conditional_expression
    pattern_0 = __core(stream, PatternDict)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 254, in __core
    result = snap_expression(stream, PatternDict)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 264, in snap_expression
    result = snap_term(stream, PatternDict)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 292, in snap_term
    result = snap_primary(stream, PatternDict)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 362, in snap_primary
    result_repeated = __snap_repetition_range(result, stream)
  File "/home/fschaef/prj/quex/git/quex/input/regular_expression/engine.py", line 485, in __snap_repetition_range
    assert the_state_machine.__class__.__name__ == "DFA", \
AssertionError: received object of type 'NoneType'

Discussion

  • Frank-Rene Schäfer

    Solved in Revision: 71403dc33
    Unit Test: TEST/bug-306.sh

     
  • Frank-Rene Schäfer

    • status: open --> closed
     

Log in to post a comment.