您的位置:首页 > 编程语言 > C语言/C++

awk add log for c++

2011-03-02 19:45 239 查看
for f in `find ../try1/mozilla-central/xpfe/appshell/src/ -type f |egrep -e '/.(h|cpp)'` ; do awk -f addlog $f > $f.ok; mv $f.ok $f;done

#! /usr/bin/awk

BEGIN {
add = 0
# addr = 0
line = 1
line1 = 0
line2 = 0
line3 = 0
line4 = 0
line5 = 0
line6 = 0
}

{
# print "line=",line
# print "add =",add
if (add)
{
print "#ifdef DEBUG"
print " printf(/"enter %s(%d)-%s//n/",__FILE__,__LINE__,__FUNCTION__);"
print "#endif"
add = 0
# addr = 1
line1 = 0
line2 = 0
line3 = 0
line4 = 0
line5 = 0
line6 = 0
# print "after addlog add= ",add
}

if ( line == line3+1 )
{
add = 0
line1 = 0
line2 = 0
line3 = 0
line4 = 0
line5 = 0
line6 = 0
}
# if (( index($0,"return") > 1 && index($0,"return") < 5 && addr == 1))
# {
# addr = 0
# print "#ifdef DEBUG"
# print " printf(/"leave %s(%d)-%s//n/",__FILE__,__LINE__,__FUNCTION__);"
# print "#endif"
# }

# if ( index($0,"}") == 1 && addr == 1)
# {
# addr = 0
# print "#ifdef DEBUG"
# print " printf(/"leave %s(%d)-%s//n/",__FILE__,__LINE__,__FUNCTION__);"
# print "#endif"
# }

print $0

if ( index($0,"::") > 0 )
{
line1 = line
}
# print "line1=",line1

if ( index($0,"(") > 0 )
{
line2 = line
}
# print "line2=",line2

if ( index($0,"{") == 1 )
{
line3 = line
}
if ( index($0,"}") > 1)
{
line4 = line
}
if ( match($0,"//") )
{
line1 = 0
line2 = 0
line3 = 0
line4 = 0
line5 = 0
line6 = 0
}
if (match($0,/class|enum|struct|static const|/[/] =/) )
{
line6 = line
}

if ( index($0,"}") == 1 )
{
line1 = 0
line2 = 0
line3 = 0
line4 = 0
line5 = 0
line6 = 0
}

#print "line3=",line3
if( (line2 >= line1 && line2 <= line1+5) && line1 > 0 )
{
if( line3 > line2)
{
if( line4 != line3 && line3 != line5 && line3 != line6+1 )
{
add = 1;
}
}
}
line++
}

END{
add = 0
exit 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: