2018-07-21 | Paul Boddie | raw annotate files changeset graph | Invocations in parameter lists may require temporary storage for contexts and accessors, but the storage locations must be different. Otherwise, the code will generate a sequence-point warning. Here, distinct ranges for parameters in lists are introduced, and accessors are now also stored in arrays, permitting distinct storage. |
1 from pyparser.automata import DFA, DEFAULT 2 3 def test_states(): 4 d = DFA([{"\x00": 1}, {"\x01": 0}], [False, True]) 5 assert d.states == "\x01\xff\xff\x00" 6 assert d.defaults == "\xff\xff" 7 assert d.max_char == 2 8 9 d = DFA([{"\x00": 1}, {DEFAULT: 0}], [False, True]) 10 assert d.states == "\x01\x00" 11 assert d.defaults == "\xff\x00" 12 assert d.max_char == 1