2

I try to use Rascal to compute metrics out of an AST that is created with Clang out of Objective C code. Since the structure of the Clang AST differs from the one that is used in Rascal, i think it needs some refactoring or workarounds to work with it.

One way could be to write a parser that translate the AST. An other way could be to use regular expressions with recursion. But there are a lot of elements in the Clang AST and it would take some time to write a parser or a function.

Is there a less time consuming way to traverse a Clang AST in Rascal?

In the Clang AST introduction is a small sample of the AST

4

2 に答える 2

0

人々は常に AST をツール間で移動しようとしているため、作業を完了するために元のツールを使用する必要はありません。これが「ソフトウェアツールバス」のコンセプトです。

各ツールには、AST の構造と意味に関する一連の仮定があり、他のツールにはない、または共有されていないため、これは通常、大きな頭痛の種です。したがって、AST 変換ツールを作成するだけでなく、「その他のツール」を作成する必要があります。

私はそれが非常に成功したのを見たことがありませんし、実際には何の労力も節約できません。Clang AST があり、それを処理したい場合は、Clang を使用してください。

[それを回避できる可能性のあるすべての人々の中で、ユルゲンは最も可能性の高い人物の 1 人です。Jurgen でない場合は、さらに問題が発生する可能性があります。]

于 2014-03-11T21:38:10.893 に答える