zencd
@zencd

Чем рекомендуете распарсить Ruby на Ruby же?

Хочется распарсить язык навроде Ruby/JavaScript, где ";" в конце стэйтмента можно опустить если строка сразу и заканчивается.


В то же время, расставлять пробелы в каждом месте правил где они (пробелы) могут встретиться очень бы не хотелось (Citrus).


Эффективность исполнения кода неважна, скорее требуется быстрота, простота и изящество при написании правил и обработчиков событий.
  • Вопрос задан
  • 2680 просмотров
Пригласить эксперта
Ответы на вопрос 3
retran
@retran
первые же ссылки в гугле:

lex — raa.ruby-lang.org/project/ruby-lex/
yacc — i.loveruby.net/en/projects/racc/
грамматика в bnf — www.cse.buffalo.edu/~regan/cse305/RubyBNF.pdf

и рекомендую для начала прочесть вот эту книжку — ru.wikipedia.org/wiki/%D0%9A%D0%BE%D0%BC%D0%BF%D0%B8%D0%BB%D1%8F%D1%82%D0%BE%D1%80%D1%8B:_%D0%BF%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%D1%8B,_%D1%82%D0%B5%D1%85%D0%BD%D0%BE%D0%BB%D0%BE%D0%B3%D0%B8%D0%B8_%D0%B8_%D0%B8%D0%BD%D1%81%D1%82%D1%80%D1%83%D0%BC%D0%B5%D0%BD%D1%82%D1%8B
Ответ написан
retran
@retran
А что вам нужно?
Вам дали генератор лексических анализаторов, генератор парсеров, грамматику которую нужно им скормить и книжку, в которой написано как, что и почему делать.
Ответ написан
@fatumka
Один товарищ уже реализовал парсер – https://github.com/whitequark/parser, выдаёт ast
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы