いくつかの非常に基本的な情報を生成するために、いくつかのC++ソースファイルを分析する必要があります。私がやろうとしています事は、このように書きます:Javaでの非常に単純なC++字句解析
- たちはアナライザは、字句解析のようなソースファイルを読み込みます
- を分析するためにC++の文法とC++ソースファイルを持っていると仮定し、それはC++文法で定義されているようなキーワードなどを識別します。
- 各ラインを読んだ後、アナライザが出力されます以下の情報:ライン#:語彙情報。たとえば、このことを考慮してください。
int main(int x, int y)
{
return x+y;
}
プログラムの出力は以下となります。同様の
Line 1: function: main, params: x, y
Line 2: paren "{"
Line 3: keyword: "return"
か何か。
誰かがこれを行う方法を教えていただけますか?私はAntlrとTXLを見てきましたが、もっと簡単な方法があるはずです。この作業を行うJavaプログラムを作成したいと思います。 まず、ファイル内の関数定義を対応する行番号とともに取得することです。どんな助けでも大歓迎です。
おかげで、 アントン
最高の賭けは、解析を行うためにClangを取得することです。あなたはASTを分析するだけです。 – Xeo
stackoverflowはコードを書く人を見つける場所ではありません。より具体的な質問がありますか?または、あなたが立ち往生する前にどこにいるのかを示すコードでしょうか? – Jasper
"C++の文法が「どういう意味ですか?それにマッチする正規表現はありますか?あなたがすでに正規表現を持っているなら、あなたはすでに戦闘の半分を勝ち取っています。 – chucksmash