Подъем Духа с Ци
May. 2nd, 2010 07:31 pm"Сломался меч о пресс
При совершеньи харакири.
Проклятый цигун!"
К сравнению парсеров добавил Boost.Spirit 2.2 (из boost 1.42), там подсистема парсер-комбинаторов называется Qi (Ци). Порадовался лаконичности описания грамматики. Повеселился, глядя как компиляция маленького примера отнимает 20 секунд и 400 мегов памяти. Скорость парсинга оказалась чуть хуже классических комбинаторов на Окамле со списками, если не считать время на создание исходного списка, а только сам парсинг. 18 МБ/с. Поскольку это мой первый опыт со Spirit'ом, я мог все сделать неправильно и медленно, поэтому обращаюсь к общественности с той же просьбой: глянуть код (менее сотни строк) и подсказать, где я налажал. Как минимум, есть подозрение насчет неиспользования skip-parser'a. Код выложил здесь. Компилировал в VS2005.
При совершеньи харакири.
Проклятый цигун!"
К сравнению парсеров добавил Boost.Spirit 2.2 (из boost 1.42), там подсистема парсер-комбинаторов называется Qi (Ци). Порадовался лаконичности описания грамматики. Повеселился, глядя как компиляция маленького примера отнимает 20 секунд и 400 мегов памяти. Скорость парсинга оказалась чуть хуже классических комбинаторов на Окамле со списками, если не считать время на создание исходного списка, а только сам парсинг. 18 МБ/с. Поскольку это мой первый опыт со Spirit'ом, я мог все сделать неправильно и медленно, поэтому обращаюсь к общественности с той же просьбой: глянуть код (менее сотни строк) и подсказать, где я налажал. Как минимум, есть подозрение насчет неиспользования skip-parser'a. Код выложил здесь. Компилировал в VS2005.