Задать вопрос
zencd
@zencd

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

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


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


Эффективность исполнения кода неважна, скорее требуется быстрота, простота и изящество при написании правил и обработчиков событий.
  • Вопрос задан
  • 2681 просмотр
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Skillfactory
    Профессия Python-разработчик PRO
    12 месяцев
    Далее
  • Stepik
    Парсинг на Python для начинающих
    2 недели
    Далее
  • OTUS
    iOS Developer
    12 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 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
Ответ написан
Комментировать
Ваш ответ на вопрос

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

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