diff --git a/doc/value/duplicates.pl b/devel_tools/duplicates.pl similarity index 55% rename from doc/value/duplicates.pl rename to devel_tools/duplicates.pl index 1188d66babbdd17c0dc2f7f7006aaa632217ee97..ba91fcccfdd869819e6ed19491723f03f9af9cfa 100755 --- a/doc/value/duplicates.pl +++ b/devel_tools/duplicates.pl @@ -14,21 +14,21 @@ if (!@ARGV) { while (1) { my $FileName = shift @ARGV ; - # Exit code = number of duplicates found. + # Exit code = number of duplicates found. exit $DupCount if (!$FileName) ; - open FILE, $FileName or die $!; - + open FILE, $FileName or die $!; + my $LastWord = "" ; my $LineNum = 0 ; - + while (<FILE>) { chomp ; $LineNum ++ ; - + my @words = split (/(\W+)/) ; - + foreach my $word (@words) { # Skip spaces: next if $word =~ /^\s*$/ ; @@ -38,9 +38,25 @@ while (1) { $LastWord = "" ; next ; } - - # Found a dup? - if (lc($word) eq lc($LastWord)) { + + # Skip numbers + if ($word =~ /^\d+$/) { + $LastWord = "" ; + next ; + } + + # Found a dup? + # note: some words are ignored, such as "long long", + # or some variable/field names + if ($word eq $LastWord && length($word) >= 3 && + !($word eq "lexbuf") && + !($word eq "ofs") && + !($word eq "addr") && + !($word eq "ros") && + !($word eq "end") && + !($word eq "args") && + !($word eq "pos") && + !($word eq "long")) { print "$FileName:$LineNum $word\n" ; $DupCount ++ ; } # Thanks to Sean Cronin for tip on case. @@ -49,7 +65,6 @@ while (1) { $LastWord = $word ; } } - + close FILE ; } - diff --git a/doc/developer/advance.tex b/doc/developer/advance.tex index e275932216d8a6a094f3bf7b4d436882d18a6405..db1da3450701a754f0036a5e10e15ff392b7de37 100644 --- a/doc/developer/advance.tex +++ b/doc/developer/advance.tex @@ -3521,7 +3521,7 @@ source files is to use an option such as \verb+-include+ in GCC. Contents of \verb+tests/misc/custom_machdep/__fc_machdep_custom.h+, used as example for creating custom machdeps. Notice the unusual size for \verb+int+ (3 bytes), selected for testing purposes only, and inconsistent with the - the chosen values for \verb+INT_MIN+ and \verb+INT_MAX+, which do not fit + chosen values for \verb+INT_MIN+ and \verb+INT_MAX+, which do not fit in 3 bytes. \lstinputlisting{../../tests/misc/custom_machdep/__fc_machdep_custom.h} \end{example} diff --git a/doc/value/main.tex b/doc/value/main.tex index 4123d592d89c6dd8039ca466e36f3a0d7179135a..45bc3c480be4753231c29106424b801165a09f95 100644 --- a/doc/value/main.tex +++ b/doc/value/main.tex @@ -1470,7 +1470,7 @@ This may happen on: according to the \isoc{} standard. However, a footnote also explains that conversion between pointers and integers is ``\emph{intended to be consistent with the addressing structure of the execution environment}''. - This is why Eva also also authorizes conversion of integers: + This is why Eva also authorizes conversion of integers: \begin{itemize} \item in the range of valid absolute addresses (according to \texttt{absolute-valid-range})