Здравствуйте, VladD2, Вы писали:
VD>Здравствуйте, Gaperton, Вы писали:
G>>Я воспользуюсь flex, или любой подобной тулзой. По ним хотя-бы документация есть, и мой код все поймут, а в велисипеде на макросах еще рабираться надо будет стороннему программеру. Недостатка в генераторах лексеров и парсеров нет ни для какого языка. Буквально для любого языка есть выбор.
VD>Ты бы попробовал, а потом обсудили бы. А то как-то не смешно. Я вот попробовал и готов потратить время на изучение, чтобы не испытывать тех проблем, что есть с тулзами вроде flex-а.
Я пробовал. И могу сказать, что реальная необходимость писать сложные лексеры-парсеры до такой степени редка в моей работе, что я не буду выбирать язык по критерию чтобы он круто позволял такие задачи решать. Это глупость. Я лучше в том редком случае, когда надо что-то сложное разобрать, воспользуюсь flex/byson или подобными.
А вот если я провожу масштабные исследования в области языков и компиляторов, то тогда да. Тогда я воспользуюсь каким-нибудь OCaml — он позволяет клево с языковыми расширениями играться, в том числе и на чужой, не окамловкой грамматике. Это свойство мне существенно съекономит время. Тем более, что есть замечательная книга — Compilers Construction with ML с примерами, которую можно почитать и новичкам потом дать.
Только я в своей работе не провожу исследований в области языков и компиляторов. Поэтому я в крайней и редкой ситуации — когда припрет — воспользуюсь flex и bison. Чем офигенно обрадую тех людей, кто будет потом разбираться в моем коде — они его поймут.