Заменить нумерацию узлов в DFA-матчере на ссылки
Originally reported on Google Code with ID 26
Непонятно, почему вместо номеров узлов нельзя использовать ссылки на них...
Так мы лишаемся операции поиска узла по номеру. А ссылка на два одинаковых узла должна
быть разной, поскольку создавались они лексером или парсером отдельно.
Reported by oasychev
on 2011-05-12 22:31:07
Comments (8)
-
reporter -
reporter ``` Вы храните матрицу инциденций - двумерный массив где строками и столбцами являются индексы узлов, а на пересечении - объект листа (переход)?
И в любом случае, мне кажется нумерацией должен заниматься конструктор dfa_preg_node если уж она используется... Зачем проводить отдельный проход по дереву? ```
Reported by `oasychev` on 2011-05-19 18:16:16
-
reporter ``` Как было установлено, хранение ссылок (номеров) на узлы дерева в автомате (карте) чревато проблемами при их изменении (например при слиянии простых ассертов с последующими узлами в ситуации (a|\b)c ). Вместо этого следует хранить отдельные объекты-копии узлов...
Соответственно нужда в нумерации исчезает.
Поскольку возможность слияния простых ассертов запланирована на релиз, эту переработку следует сделать до релиза...
```
Reported by `oasychev` on 2011-09-14 14:20:45 - Labels added: Milestone-Release2.1
-
reporter ``` Отложено до релиза 2.2 и перехода на общий класс конечного автомата.... ```
Reported by `oasychev` on 2011-11-14 15:13:22 - Labels added: Maintainability - Labels removed: Milestone-Release2.1
-
reporter ``` Делается в процессе перехода на общий класс конечного автомата. ```
Reported by `oasychev` on 2011-12-27 10:09:43 - Labels added: Milestone-Release2.2
-
reporter Reported by `oasychev` on 2011-12-30 16:19:32
-
reporter ``` Теперь в preg узлах есть поле id. Можно использовать. Отдельную нумерацию из ДКА убрать.... ```
Reported by `oasychev` on 2012-07-24 14:54:19 - Status changed: `Accepted`
-
reporter Reported by
oasychev
on 2013-09-07 19:36:39 - Status changed:WontFix
- Log in to comment
Reported by `oasychev` on 2011-05-12 22:31:21 - Labels added: Component-Preg