質問

PHP と JavaScript のドキュメント構造を解析して、ドキュメントの関数とそのパラメータ、クラスとそのメソッド、変数などに関する情報を取得する必要があります...それを行うための解決策(正規表現はありません)があるかどうか疑問に思っています...「レクシング」と呼ばれるものについて聞いたことがありますが、これが私が探しているものであるかどうかを判断できる例さえ見つけることができませんでした...

前もって感謝します

役に立ちましたか?

解決

「Lexing」とは字句解析のことを指しますが、Lex と Yacc という名前の古いツールがいくつかあり、ほとんど今でも機能します。Lex はトークナイザーを構築し、Yacc は「さらに別のコンパイラー コンパイラー」の略で、実際のパーサーです。

lex/Yacc の概念は、言語の文法を構築し、その文法を paslex ツールで実行して、ファイルを解析し、特定のキーワードとトークンに対してアクションを実行するために使用できるソース コード (通常は C で) を生成するというものです。 。Martin Waldenburg は、PasLex という名前の lex/yacc のパスカル バージョンを作成しました。これは 10 年以上にわたって使用されており、現在は次のように変換されています。 デルフィ (ただし、最新バージョンでは多少の作業を行わないと動作しない可能性があります)。私の記憶が正しければ、lex と同じ .L 文法入力ファイルを使用するため、出力として Pascal コードが得られる点を除いて、lex/yacc 用に見つかったドキュメントはすべて paslex にも適用できます。

現在のドキュメントの入手可能性についてはわかりません。インターネットが登場する前は (息をのむ)、私たちは本を使用していましたが、そのほとんどは紙に大量に文書化されており、その紙は長い間黄ばんでいました...しかし、噂によると、Amazon から中古本を入手できるかもしれません。私は、「」としても知られる本を使ってこれについて詳しく学びました。ドラゴンの本」は 2006 年に再出版されたようです。


編集:

ツールと間違えてしまいました、、、 TPLY. 。PasLex はデルファイ文法の実装でした。TPLY は .L ファイルから Pascal ソースを生成する Lex/Yacc ツールでした。

他のヒント

これが実行可能かどうかはわかりませんが、PHPの場合、DelphiからPHP CLIを呼び出して情報を取得できますか?

その場合は、 token_get_all()を呼び出して、解析可能なものに結果を吐き出すことができますDelphi(おそらくxml、jsonなど)。これは字句解析です。これの問題は、解決された問題の半分に過ぎないことです-必要な結果を得るには、コンテキスト内の各トークンを理解する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top