私は3つの異なる言語について言及していますが、Pythonパッケージが存在するかどうかを知りたいのですが、それらのいずれかのプログラムの識別子のリストを私に与えることができます。私はそれがそういうものがあるとは思っていないので、それらの3つすべてである必要はありません。ですから、私の質問は、関数やクラスがPythonに存在しているため、特定のプログラムの識別子リストを取得できます。どんな助けもありがたい。プログラム(C、Scala、Lisp)の識別子を解析するためのPythonパッケージ?
答えて
一般的に、これはほぼ完全な言語実装がなければ不可能です。
Cには、アドホックスキャンの関数宣言をマスクするための初歩的なプリプロセッサがあります。 Lispには強力なメタプログラミングがあります。つまり、フル機能のLispコンパイラを使って定義を抽出することができます。単純な構文解析はまったく役に立ちません。
Scalaはこれら3つの中で最もシンプルですが、構文はまだまだ肥大しており、少なくとも完全なパーサーが必要です。 Pythonは、このようなことを何らかの形で行うための適切なツールではありません。
pycparserがあります。これを使用してコードからC ASTを生成し、それをトラバースして必要なものを得ることができます。
this simple lisp interpreterは、パーサーをスクラップできるようにするPythonにあります。
私はScalaにとって似ていて容易に利用できるとは思っていませんが、plyのようなものを使ってパーサーを作ることができます。それは簡単ではありませんが、そうするでしょう。
そうです、私はプライを見ていましたが、そのチュートリアルを行うのは難しいです。しかし、入力のおかげで。 – Andy
チュートリアルよりも簡単な例があります。 –
- 1. 無効なHTMLを解析するためのCommon Lispパッケージ?
- 2. Pythonでlispファイルを解析する
- 3. コントロールまたはaltキーを識別するためのCプログラム
- 4. Pythonでdatetimeを使用してユニークな日付を識別するためのcsvファイルを解析する
- 5. C++コンパイルエラー:(関数パラメータのための)未定義の識別子
- 6. 異なるC++プログラム間の一意の型識別子
- 7. C++ Warning--識別子「}」
- 8. 未解決識別子
- 9. C++プログラムのデータフロー解析
- 10. SyntaxError:JSON解析エラー:予期しない識別子「オブジェクト」
- 11. IPのためのPythonログ解析
- 12. 未解決の識別子 - inループロジック
- 13. スウィフトカスタマイズテーブルビューセル未解決の識別子
- 14. XML Objective Cで子要素の解析を解析します
- 15. ネットワークプロトコル解析のためのC++メソッド
- 16. ログ解析のためのC++ライブラリ
- 17. Javaソースを解析する際に、どのように識別子の型を解決できますか?
- 18. アルゴリズム解析と構造識別
- 19. パッケージの解析エラー
- 20. 解析エラー:シンプルCプログラム
- 21. 設定アクセシビリティ識別子プログラムUIBarButtonItem
- 22. 未知のXMLエンティティを解析するためのPython ElementTreeサポート?
- 23. Cの識別子の接頭辞@
- 24. ScalaのリフトでJSONを解析する
- 25. Scala Parser Combinators:効率的にCスタイルのコメントを解析する
- 26. UIBarButtonItemの識別子プロパティをプログラムで変更する
- 27. UIBarButtonItemの識別子をプログラムで設定する
- 28. XML解析(および検証)Cプログラムの解析
- 29. Objective-c iPhone NSTimerのユニークな識別子
- 30. C/C++を使用した電子メールヘッダーフィールドの解析
もっと文脈を教えてください。 C、Scala、またはLispプログラムを解析して識別子のリストを出力するPythonプログラムを作成したいと思うようですが、この質問から100%明確ではありません。 –
私は体の中でタイトルを繰り返すことに何のポイントも見ませんでしたが、あいまいさを謝ります。私は、Pythonでそれをすることが存在することをもっと望んでいました。そうでなければ、私はそのことを知りたいと思います。 – Andy
あなたはPythonパッケージを探しています。私の編集を参照してください。 –