Как стать автором
Обновить

Комментарии 18

Ого! Давненько я не видел goto :)
На goto мир стоит.
Интересно, есть ли развивающийся порт этой штуковины на Java?
А для чего?
Проще использовать стандартные классы Java Regex, объём кода ни чуть не меньше, чем в re2c.
Этой — нету, но есть JLex
Комментатор выше не прав, т.к. прийдётся писать сотни кода и отлаживать регулярки
мне вот интересно, код на метках работает быстрее чем таблица переходов в массиве?
НЛО прилетело и опубликовало эту надпись здесь
Зависит от компилятора и платформы.
ну приведите пример платформы, в которой переход по константному адресу медленнее, чем такой же переход, но по адресу в памяти.
Зависимость бывает разная. В данном случае скорее два варианта: а) так же, б) метки быстрее. И это зависит от платформы.

Ваш, третий, скорее всего не встречается.
покопался в файлах и нашел собственный сканер который еще в универе писал. govnokod.com/4398
табличка переходов конечно генерилась, правда не по регулярке, а забивалась в формочку руками, ну что с второкурсника возьмешь, глупый был :)
Так это просто лексер? Вот это мне кажется более интересным практически для любых применений. По использованию памяти и скорости по-моему конкурентов нет.
Не знал. Спасибо за наводку.
На мой взгляд у re2c ниша немного другая — написание ad hoc лексеров, когда не требуется полная мощь лексеров и парсеров типа flex, bison, peg.
Сейчас, правда, эта ниша занята регулярными выражениями.
НЛО прилетело и опубликовало эту надпись здесь
Есть неплохой пример использования re2c в большом проекте: функция unserialize() в PHP написана с использованием re2c.
В исходниках PHP это ext/standard/var_unserializer.re и соответствующий ext/standard/var_unserializer.c, ну и на сайте PHP есть указание на re2c.
boost::spirit наше всё! :)
НЛО прилетело и опубликовало эту надпись здесь
Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации