source: svn/newcon3bcm2_21bu/nexus/build/tools/common/nexus_commentcheck.pl

Last change on this file was 76, checked in by megakiss, 10 years ago

1W 대기전력을 만족시키기 위하여 POWEROFF시 튜너를 Standby 상태로 함

  • Property svn:executable set to *
File size: 5.1 KB
Line 
1#!/usr/bin/perl
2#     (c)2003-2008 Broadcom Corporation
3
4#  This program is the proprietary software of Broadcom Corporation and/or its licensors,
5#  and may only be used, duplicated, modified or distributed pursuant to the terms and
6#  conditions of a separate, written license agreement executed between you and Broadcom
7#  (an "Authorized License").  Except as set forth in an Authorized License, Broadcom grants
8#  no license (express or implied), right to use, or waiver of any kind with respect to the
9#  Software, and Broadcom expressly reserves all rights in and to the Software and all
10#  intellectual property rights therein.  IF YOU HAVE NO AUTHORIZED LICENSE, THEN YOU
11#  HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND SHOULD IMMEDIATELY
12#  NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE SOFTWARE. 
13#   
14#  Except as expressly set forth in the Authorized License,
15#   
16#  1.     This program, including its structure, sequence and organization, constitutes the valuable trade
17#  secrets of Broadcom, and you shall use all reasonable efforts to protect the confidentiality thereof,
18#  and to use this information only in connection with your use of Broadcom integrated circuit products.
19#   
20#  2.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED "AS IS"
21#  AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES, REPRESENTATIONS OR
22#  WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR OTHERWISE, WITH RESPECT TO
23#  THE SOFTWARE.  BROADCOM SPECIFICALLY DISCLAIMS ANY AND ALL IMPLIED WARRANTIES
24#  OF TITLE, MERCHANTABILITY, NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE,
25#  LACK OF VIRUSES, ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION
26#  OR CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT OF
27#  USE OR PERFORMANCE OF THE SOFTWARE.
28
29#  3.     TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM OR ITS
30#  LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL, INDIRECT, OR
31#  EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY RELATING TO YOUR
32#  USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF BROADCOM HAS BEEN ADVISED OF
33#  THE POSSIBILITY OF SUCH DAMAGES; OR (ii) ANY AMOUNT IN EXCESS OF THE AMOUNT
34#  ACTUALLY PAID FOR THE SOFTWARE ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE
35#  LIMITATIONS SHALL APPLY NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF
36#  ANY LIMITED REMEDY.
37#
38# $brcm_Workfile: nexus_commentcheck.pl $
39# $brcm_Revision: 1 $
40# $brcm_Date: 1/28/08 1:15p $
41#
42# File Description:
43#
44# Revision History:
45#
46# $brcm_Log: /nexus/build/tools/common/nexus_commentcheck.pl $
47#
48# 1   1/28/08 1:15p erickson
49# PR35457: new comment check tool
50#
51#############################################################################
52use strict;
53
54my $totalerrors = 0;
55
56sub check_file
57{
58    local *FILE;
59    my $filename = shift;
60    my $line;
61    my $linenum = 1;
62    open FILE, $filename;
63    my $comment_line = 0;
64   
65    my $in_summary = 0;
66    my $in_description = 0;
67   
68    foreach $line (<FILE>) {
69        if ($comment_line) {
70            if ($line =~ /\*\//) {
71                $comment_line = 0;
72                $in_summary = 0;
73                $in_description = 0;
74            }
75            else {
76                if ($line =~ /^Summary:/) {
77                    $in_summary = 1;
78                    if ($comment_line != 1) {
79                        print "ERROR: Summary: in invalid location at line $linenum\n";
80                        $totalerrors++;
81                    }
82                }
83                elsif ($line =~ /^Description:/) {
84                    $in_description = 1;
85                    if ($in_summary) {
86                        print "ERROR: No blank line between Summary: and Description: at line $linenum\n";
87                        $totalerrors++;
88                    }
89                }
90                elsif ($line =~ /^See Also:/) {
91                    if (!$in_description) {
92                        print "ERROR: See Also: must be in Description: at line $linenum\n";
93                        $totalerrors++;
94                    }
95                }
96                elsif ($line =~ /^\s*$/) {
97                    $in_summary = 0;
98                }
99                   
100                if ($comment_line == 1 && !$in_summary) {
101                    print "ERROR: Missing Summary: on line $linenum\n";
102                    $totalerrors++;
103                }
104                   
105                $comment_line++;
106            }
107        }
108        elsif ($line =~ /^\/\*=/) {
109            # module overview
110        }
111        elsif ($line =~ /^\/\*/) {
112            if ($linenum == 1) {
113                # standard header
114            }
115            else {
116                $comment_line = 1;
117            }
118        }
119        $linenum++;
120    }
121}
122
123
124###############
125# main
126###############
127print "Nexus Comment Check\n";
128print "Revision: 1/23/2008\n";
129my $file;
130if ($#ARGV == -1) {
131    print "Usage: nexus_commentcheck.pl file1.h file2.h ...\n";
132    exit;
133}
134for $file (@ARGV) {
135    print "Checking $file\n";
136    print "------------------------------------------\n";
137    check_file $file;
138    print "------------------------------------------\n";
139}
140
141print "Total errors: $totalerrors\n";
142$totalerrors;
Note: See TracBrowser for help on using the repository browser.