Как предполагается использовать scala.util.parsing.ast.Binders? - PullRequest
5 голосов
/ 22 апреля 2011

В настоящее время я реализую небольшой компилятор в Scala, и пока я выполнял компонент для анализа контекста, я обнаружил черту Binders в пакете scala.util.parsing.ast (я использую Scala 2.9 RC), который задокументирован для включения привязки имениво время разбора.Это звучит очень интересно, и я много гуглял, но до сих пор не знаю, как его использовать.Хотя я, конечно, могу позволить своему абстрактному синтаксису получить от Binders, я не вижу, как действовать дальше.Есть ли примеры использования в сети?

Ответы [ 2 ]

3 голосов
/ 22 апреля 2011

Погуглив немного, я нашел эту страницу , которая, кажется, является версией разработки документации с более подробной информацией.К сожалению, мне не удалось найти онлайн-версию этих документов (я имею в виду вне исходного репозитория).

Я не уверен, однако, что вы найдете то, что ищете в этой библиотеке.Разрешение имени - довольно деликатная вещь, и пахнет сомнительной идеей сделать это во время анализа.Документация самой библиотеки подчеркивает, что она подходит только для языков, где разрешение имен относительно простое, и может не масштабироваться иначе.Кроме того, ни один из примеров синтаксического анализа в хранилище Scala не использует этот класс.

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

1 голос
/ 26 июня 2012

Вы не должны использовать это.Фактически, это недавно было объявлено устаревшим.

См. кандидат на устаревание: scala.parsing.ast

...