Я не знаю о новых проектах, использующих его, но я участвую в семи различных работах по техническому обслуживанию, которые используют lex и yacc для обработки файлов конфигурации.
Для меня нет XML, нет-сэр: -).
Решения, использующие lex / yacc, являются шагом вперед по сравнению со старыми конфигурационными файлами из key=val
строк, поскольку они допускают более совершенные иерархические структуры, такие как:
server = "mercury" {
ip = "172.3.5.13"
gateway = "172.3.5.1"
}
server = "venus" {
ip = "172.3.5.21"
gateway = "172.3.5.1"
}
И, да, я знаю, что вы можете сделать это с XML, но это в основном устаревшие приложения, написанные на C, и, если честно, я бы, вероятно, использовал lex / yacc и для новых (не Java) заданий.
Это потому, что я предпочитаю поставлять программное обеспечение вовремя и по бюджету, а не предлагать новейшие технологии с быстрой отдачей - мои клиенты не будут платить за мое образование, они в первую очередь хотят результатов, а я уже эксперт в lex / yacc и иметь весь код шаблона, чтобы сделать это быстро.