1

perl スクリプトで C ファイルからすべての関数を取得しようとしています。

パターン例:

function return type  
function name (function parameters)  
{  

これまでのところ、私は持っています:m/^(.*)\((.*)\)/

しかし、これはステートメントなどの内部の関数も取得するため、すべての内部関数を排除するが機能 しないため、同様ifに一致することを望んでいました。{m/^(.*)\((.*)\)/\n\{/

キャッチできるように、次の行 の\n{ ieと一致させるにはどうすればよいですか{

add(int a, int b)  
{  

...しかし、避ける、言う

if(a = b)  
4

2 に答える 2

2

CPANでC::Scanを見てください。

于 2013-05-20T05:49:05.833 に答える
1

C ソースに一致させたいアスタリスクはありません。したがって、パターン内のアスタリスクの前にあるバックスラッシュを削除してください。

以下は、あなたが望むものに近いかもしれません:

m/^(.*?\(.*?\))\s*\n{/m
于 2013-05-20T05:58:42.223 に答える