찾을 매직 넘버마다 msg를 "매직 넘버 발견"msg와 함께 출력해야합니다.매직 넘버 확인
.C 파일을 파싱 중입니다.
매직 넘버는 기본적으로
if(list == 5) // here 5 is magic number
for(int i = 0; i<6; i++) //here 6 is magic number
MY 코드
use strict;
use warnings;
my $input = $ARGV[0];
open(FILE, $input) or die $!;
my @lines = <FILE>;
my $count = 0;
foreach(@lines){
$count++;
if($_ =~ 'for\('){ # I want to check within for()
if($_ =~ '#####'){ # how do the check for numbers
print "magic number found at line:".$count;
}
}
elif($_ =~ 'if\('){ # I want to check within if()
if($_ =~ '#####'){
print "magic number found at line:".$count;
}
}
}
매직 넘버는 루프와 루프 경우 존재
, 그래서 어떤 소수가 존재하는 경우 브래킷에서 확인 할 또는 16 진수 값.
나는 그것이 훨씬 더 복잡 그'regex' 검사에 비해 생각합니다. 각 절이 다른 줄에있는 'for'는 어떻습니까? 아니면'i' 대신'i345'라는 변수가 있습니까? 몇 가지 문제 만 말하기. – Birei
@Birei 예 사실 ... dnt는 그것에 대해 생각합니다. 그렇다면 다른 방법을 사용하십시오. –
이 코드를 직선으로 처리하고 C 코드를 구문 분석하고 싶지만 질문에 한 번 언급하지 않았습니까? 아마도해야할까요? – TLP