QML形式のファイル(wiki )の静的分析を行う必要がありますが、それらのパーサーが見つかりません。私が見る唯一の方法は、 Qt Declarativeモジュールのソースコードを再利用するか、独自のパーサーを作成することです。ウェブ上で何も見つかりません。QMLファイルの要素を簡単に解析するためのツール、XMLまたはPerl / Pythonモジュールへのコンバーターを教えてもらえますか?
あなたの助けをどうもありがとう!
QML形式のファイル(wiki )の静的分析を行う必要がありますが、それらのパーサーが見つかりません。私が見る唯一の方法は、 Qt Declarativeモジュールのソースコードを再利用するか、独自のパーサーを作成することです。ウェブ上で何も見つかりません。QMLファイルの要素を簡単に解析するためのツール、XMLまたはPerl / Pythonモジュールへのコンバーターを教えてもらえますか?
あなたの助けをどうもありがとう!
qt-declarativeのパーサーはsrc/qml / qml / parserにあり、その大部分はqlalrで生成されます(前のリンクと同じ場所ですが、qtdeclarativeの代わりにqlalrを使用します)。qt-declarativeから派生したqt-creatorsrc/ libs / qmljs /parserで使用されているパーサーも確認することをお勧めします。
SDKに付属しているQMLビューアのソースコードを確認できます。ソースコードはGitoriousで入手できます。QMLビューアのコードはPythonやPerlではなくC++です。
Qtとの依存関係なしでPythonを使用する別の可能な解決策は、標準のJavascriptパーサーを使用し、QMLを理解できるように変更することです。あなたが提供したwikiリンクから:
QMLとJavaScriptは非常に似ているため、JavaScriptをサポートするほとんどすべてのコードエディタがその役割を果たします。
PythonのJavascriptインタープリターであるpynarcissusを見つけました。QMLファイルを正しく解釈できるように少し変更することはできますか?