さまざまなプログラミング言語(java/C/C++)で書かれたソースコードをトークン化できるライブラリはありますか? (識別子である関数の開始と終了のような部分を識別することができます)。私はソースコードを解析したくない、それはあまりにも複雑かもしれない。さらに、ソースコードにはエラーがないかもしれません。事前に感謝します。ソースコードをトークン化
答えて
フレックス(Cの下)やJLex(Javaの下)のように、lexical analyzer(つまりレクサー)を使用してソースコードをトークン化することができます。 Java、C、およびC++をトークン化するための文法を取得する最も簡単な方法は、お気に入りのレクサーを使用してオープンソースコンパイラからコードを使用することです(ライセンス条件の対象となります)。たとえライセンス条件があまりにも厄介なものだとしても、それらは見通すために教育的でなければなりません。
ただし、解析することなく関数の開始と終了を識別することはできません。
答えをありがとう。私はこれについて正確にはわからない同様の直感を持っています。ソースコードから最良のリターンを得るためには、各言語を個別に検討する必要があることが判明しました。普遍的な解決法はありません。 –
すべての場合にあります。たとえば、typedef
の存在下でCまたはC++コードの解析をどのように変更するかを考えてみましょう。最初に識別子であるトークンをタイプ名として認識する必要があります。そうでないと、typedef
を使用して宣言(関数を含む)を正しく認識できなくなります。いくつかの言語では、任意の演算子(新しいトークン)を定義できます。単純に病理学的なものもあります(Perlパーサ、またはブレース挿入規則を使ったHaskell '98の設計を試してみてください)。
私はあなたに同意します。答えをありがとう。 –
- 1. Pythonのソースコードの例をトークン化する(Pythonで)
- 2. トークン化、
- 3. Cordova暗号化ソースコード
- 4. SICアセンブラソースをトークン化
- 5. トークン化と
- 6. Pythonトークン化
- 7. トークン化モジュール
- 8. トークン化結果
- 9. C++暗号化と復号化のソースコード
- 10. ソースコードの暗号化/隠蔽
- 11. C++(vC++)のソースコードの美化?
- 12. PHPソースコードの暗号化/ Obfuscator
- 13. Libreoffice Calcトークン化(?)a
- 14. Pythonのトークン化UnicodeDecodeError
- 15. トークン化文字列
- 16. Weka POSタギング+トークン化
- 17. トークン化文字列
- 18. 文のトークン化をCで
- 19. MasterCardトークン化APIを作成
- 20. バイト配列をトークン化
- 21. Javaでバイナリデータをトークン化
- 22. トークンで区切られたトークンのトークン化
- 23. Cソースコードのパスワードを暗号化
- 24. チームサービスのソースコードの暗号化を休止
- 25. ソースコードの一部を暗号化
- 26. CSRFトークンはソースコードで表示されます
- 27. ユーザー名と日付トークンを暗号化またはトークン化する方法は?
- 28. 文字列トークン化は、Java
- 29. WPF RichTextBoxトークン化編集
- 30. Pythonの比較トークン化リスト
エラーのないコードサンプルでさえトークン化するのは簡単なことではありません。確かに「あらゆる言語」のために働くものは存在しません。あなたはおそらくあなたが解決しようとしていることについてもっと具体的にする必要があります。そうでなければ、フレックスやバイソンやANTLRで心地よくなることをお勧めします。 – sarnold