Есть несколько вопросов по SO о синтаксическом анализе структурированного текста в Ruby, но ни один из них не относится к моему случаю.
Я являюсь автором библиотеки Ruby Whois . Библиотека включает несколько парсеров для анализа ответа WHOIS и извлечения свойств из содержимого.
До сих пор я использовал два подхода:
Регулярные выражения неэффективны, потому что, если мне нужно извлечь 15 свойств, мне нужно просканировать тот же ответ как минимум 15 раз.
StringScanner - хорошая библиотека, но создать эффективный сканер не так просто.
Мне было интересно, есть ли другие инструменты Ruby, которые вы предлагаете для реализации парсера записей WHOIS. Я читал о Treetop, но из-за отсутствия спецификации в записях WHOIS, я считаю, что Treetop - неподходящее решение.
Есть предложения?