Re: коммивояжёр
- From
- Vitaly Lugovsky (2:5080/1003)
- To
- Alexey Krasnov
- Date
- 2003-01-14T18:04:59Z
- Area
- RU.ALGORITHMS
From: Vitaly Lugovsky <vsl@ontil.ihep.su>
Alexey Krasnov <Alexey.Krasnov@p96.f196.n5066.z2.fidonet.org> wrote:
> OK> Например - разбор и вычисление арифметического выражения со
> OK> скобками и с приоритетами операций.
>
> yacc-like парсеры вовсе нерекурсивны.
Так то детский сад, штаны на лямках. А слабО придумать без хотя бы
комбинаторов аналог таких вот парсеров:
http://www.cs.uu.nl/groups/ST/Software/UU_Parsing/
http://www.ki.informatik.uni-frankfurt.de/~klose/lucky.html
http://www.cs.ruu.nl/~daan/parsec.html
Ну и самый навороченный:
http://www.cse.unsw.edu.au/~chak/haskell/ctk/
> Не думаю, что используемые в серьезных
> компиляторах парсеры делаются рекурсивно,
Зря. Думать - полезно.
> т.к. для объемных грамматик
> количество ветвлений алгоритма возрастает с ужасающей быстротой. Гораздо
> выгоднее делать разбор по сгенеренным таблицам нерекурсивным алгоритмом.
Но это только для примитивных грамматик. А если грамматика меняется
динамически - что делать бум?
--- ifmail v.2.15dev5
* Origin: (http://news.cca.usart.ru/) USURT's FidoNET<-> (2:5080/1003@fidonet)