5

私は現在Scalaで小さなコンパイラーを実装しており、コンテキスト分析用のコンポーネントを実行しているときにBinders、パッケージ内の特性を発見しましたscala.util.parsing.ast(Scala 2.9 RCを使用しています)。これは、解析時に名前バインディングを有効にするために文書化されています。それはとても面白そうだし、私はたくさんグーグルしてきましたが、それをどうやって使うのかまだ分かりません。もちろん、抽象構文を派生させることはできますがBinders、そこから先に進む方法がわかりません。ネットでの使い方の例はありますか?

4

2 に答える 2

3

少しグーグルで検索すると、このページが見つかりました。これは、詳細が記載されたドキュメントの開発バージョンのようです。残念ながら、これらのドキュメントのオンライン(つまり、ソースリポジトリの外部)バージョンを見つけることができませんでした。

ただし、このライブラリで探しているものが見つかるかどうかはわかりません。名前解決はかなりデリケートなことであり、構文解析中にそれを行うのは疑わしい考えのように聞こえます。このライブラリ自体のドキュメントは、名前解決が比較的単純な言語にのみ適しており、他の方法では拡張できない可能性があることを強調しています。さらに、Scalaリポジトリの解析例はどれもこのクラスを利用していません。

この未知の領域を慎重に避け、別の解析後パスでバインディング分析を設計します。

于 2011-04-22T07:21:47.963 に答える
1

あなたはそれを使うべきではありません。実際、最近は非推奨になっています。

非推奨の候補を参照してください :scala.parsing.ast

于 2012-06-26T09:37:31.240 に答える