Ruby Parser - PullRequest
       9

Ruby Parser

0 голосов
/ 15 июня 2009

Я хочу знать, можно ли разобрать язык ruby, используя просто детерминированный синтаксический анализатор, не имеющий обратного следа вообще ??

Ответы [ 2 ]

0 голосов
/ 20 июля 2009

Я не знаю каких-либо конкретных подробностей о разборе Ruby или о том, почему вы настаиваете на том, чтобы «не возвращаться назад». Я предполагаю, что вы считаете, что грамматика Ruby не является LALR (1), например, не обрабатывается YACC или эквивалентами.

В любом случае, если проблема заключается в том, чтобы проанализировать язык, грамматика которого не зависит от контекста, это можно сделать с помощью синтаксического анализатора GLR, который не возвращает:

http://en.wikipedia.org/wiki/GLR_parser

Я использовал это для создания производственных парсеров для многих реальных языков.

0 голосов
/ 16 июня 2009

Вместо того, чтобы фактически писать парсер, вы всегда можете использовать существующий интерпретатор, чтобы делать то, что вы хотите.

Например: ruby2ruby

http://seattlerb.rubyforge.org/ruby2ruby/ ruby2ruby

...