[docs] xmldocs - docelic modified 10 files

docs at icdevgroup.org docs at icdevgroup.org
Wed Aug 25 05:53:10 EDT 2004


User:      docelic
Date:      2004-08-25 09:53:10 GMT
Modified:  .        TODO
Modified:  bin      refs-autogen stattree
Modified:  cache/4.6.0 .cache.bin
Modified:  cache/4.8.0 .cache.bin
Modified:  cache/5.0.0 .cache.bin
Modified:  cache/5.2.0 .cache.bin
Modified:  cache/cvs-head .cache.bin
Modified:  refs/MV_SUBJECT control notes
Log:
- bin/stattree:
 - SUPPORT MULTIPLE TAGS defined in the same file
 - If -verbose is used, dump human-readable %hash to tmp/<version>.hash
 - Removed excessive comments (use tmp/<ver>.hash now)

- bin/refs-autogen:
 - Add "\n" in source context lines, because they're removed in stattree

Revision  Changes    Path
1.12      +18 -0     xmldocs/TODO


rev 1.12, prev_rev 1.11
Index: TODO
===================================================================
RCS file: /var/cvs/xmldocs/TODO,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -r1.11 -r1.12
--- TODO	24 Aug 2004 19:52:04 -0000	1.11
+++ TODO	25 Aug 2004 09:53:03 -0000	1.12
@@ -15,6 +15,8 @@
   (like [restrict]).
 - Under availability, if applicable, display cvs line (modification time,
   username and version).
+- Read all possible options for tag files from vend/config.pm
+  (%tag.* structures) and warn if invalid option is found in any tag file.
 
  Mid-term:
 - Think about adding "online example" (role=html in combination with 
@@ -49,4 +51,20 @@
 thus a source of civilized delight.
 </para>
 </epigraph>
+
+
+######################################################################
+
+Pragmas, globvars:
+  default
+
+Tags:
+  parameters
+	positional list
+	invalidates cache
+	aliases
+	tag call / perl call
+	container
+	has subtags
+	nests
 



1.23      +1 -1      xmldocs/bin/refs-autogen


rev 1.23, prev_rev 1.22
Index: refs-autogen
===================================================================
RCS file: /var/cvs/xmldocs/bin/refs-autogen,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -r1.22 -r1.23
--- refs-autogen	24 Aug 2004 19:52:04 -0000	1.22
+++ refs-autogen	25 Aug 2004 09:53:03 -0000	1.23
@@ -133,7 +133,7 @@
 				for my $arr ( @{ $covered{$key}{$fi} } ) {
 					goto DONELOOP if $ln > $$arr[0] and $ln < $$arr[1];
 				}
-				my $ctxsdata = join "", @$ctxdata;
+				my $ctxsdata = join "\n", @$ctxdata;
 				if ( length $ctxsdata ) {
 					my $ls = $ln - $ctxpre; # line start nr.
 # XXX when xsltproc gets to support line numbering, add this below: XXX



1.15      +32 -119   xmldocs/bin/stattree


rev 1.15, prev_rev 1.14
Index: stattree
===================================================================
RCS file: /var/cvs/xmldocs/bin/stattree,v
retrieving revision 1.14
retrieving revision 1.15
diff -u -r1.14 -r1.15
--- stattree	24 Aug 2004 19:52:04 -0000	1.14
+++ stattree	25 Aug 2004 09:53:03 -0000	1.15
@@ -98,9 +98,16 @@
 
 
 # Dump
-print STDERR Dumper \%hash if $verbose;
 dumpdb( "$cachedir/$dumppath" );
 
+# Save human-readable %hash ?
+if ( $verbose ) {
+	#print STDERR Dumper \%hash;
+	open OUT, "> tmp/$i{ver}.hash" or die "Can't open tmp/$i{ver}.hash ($!)\n";
+	print OUT Dumper \%hash;
+	close OUT;
+}
+
 exit 0;
 
 #################################################################
@@ -111,8 +118,7 @@
 	# Things we ignore
 	return if /(^|\/)(CVS|\.cvs|\.svn|\.autoload)(\/.+[^\/])?$/;
 	
-	stat($file) or 
-		warn "Can't stat '$file' ? ($!)\n";
+	stat($file) or warn "Can't stat '$file' ? ($!)\n";
 
 	# totals
 	if ( -d $file ) {
@@ -297,14 +303,10 @@
 			#$hash{total}{$fsubtype . "s"}++;
 			$file =~ m#(\w+?)\.(core)?tag$# or
 				warn "I know $file is a tag but regex doesn't match it\n";
-			my $tagname = $1;
-			# Add the tag and basic info to the hash
-			push @{ $hash{symbols}{$fsubtype}{$1} }, 
-				[ "$i{ver}/$file", scalar @file, "1:" . scalar @file, [ format_ctx(@file) ] ];
-			# Now, try to autoconstruct tag synopsis
-			my %specific;
 
-			#my $warned;
+			my %specific; # Item-specific data
+			my @tags; # Support multiple tags defined in the same file
+
 			# This is where we parse the tag file. We should discover settings like
 			# HasEndTag, Order, and so on.
 			for my $_l (@file) {
@@ -312,36 +314,32 @@
 				my @lis = split /\s+/, $_l;
 				shift @lis; # Remove "Usertag" which is first in the list
 
-				# We don't care if filename doesn't match tag name defined in it,
-				# this is solved by saving the name to $specific{_name} which will 
-				# then override filename in bin/refs-autogen.
-				#unless ( (my $tn = shift(@lis)) eq "$tagname" ) { 
-					#warn "HA! TAGFILE $file, name mismatch ($tagname != $tn)\n"
-				#		unless $warned++;
-				#};
+				# Tag name as really defined, not just the file name
+				# (Most often, the difference is in _ and -).
 				my $tn = shift @lis;
 
-				#if ( $specific{_name} and ( $specific{_name} ne $tn )) {
-				#	warn "HA! $file, managed to err on $specific{_name}/$tn)\n"
-				#}
-
-				$specific{_name} = $tn;
-
-				# XXX CRITICAL:
-				# support for multiple tag definitions in the same file is 
-				# missing, as well as support for Alias option which has 
-				# reverse order (alias Alias name, and not name Alias alias).
-
-				my $tagopt = lc ( shift @lis );
-				next if $tagopt =~ /^(routine|documentation)$/;
+				my $tagopt = shift @lis;
+				next if $tagopt =~ /^(routine|documentation)$/i;
 				if ( "@lis" =~ /<</ ) {
 					warn "TODO: Unsupported << in $tn\n";
 					next;
 				}
-				$specific{"_tagopt_$tagopt"} = "@lis";
-				#print "$tn :: $tagopt :: @lis\n";
+
+				# New tag name we didn't see yet (either first run or another tag defined)
+				{ no warnings;
+				if (!grep{/^$tn$/}@tags and $lis[0] !~ /^alias$/i) { push @tags, $tn }
+				}
+
+				$specific{$tn}{"_tagopt_$tagopt"} = "@lis";
+			}
+			
+			# For each tag found in the file, create appropriate data in hash.
+			for my $tagname ( @tags ) {
+				push @{ $hash{symbols}{$fsubtype}{$tagname} }, 
+					[ "$i{ver}/$file", scalar @file, "1:" . scalar @file, [ format_ctx(@file) ] ];
+				$hash{specific}{$tagname} = $specific{$tagname};
 			}
-			$hash{specific}{$tagname} = { %specific };
+			
 			last;
 		}
 	}
@@ -349,7 +347,7 @@
 
 # Format the context lines before saving to the db
 sub format_ctx {
-	map { s/\t/  /g } @_;
+	map { s/\t/  /g; chomp } @_;
 	return @_;
 }
 
@@ -370,88 +368,3 @@
 
 }
 
-#
-#	This is how the final dumped hash looks like:
-# The %hash is per-module (main directory) of course!
-#
-# %hash = (
-# 	# General overview, summarized statistics
-# 	total => {
-#
-# 		known_types        # all extensions: binary + text
-#
-# 		known_binary_types # how many file types are considered binary
-# 		
-# 		known_ascii_types  # how many file types are considered text
-# 		
-#			files            # total number of files (non-dirs)
-#
-#			directories      # total number of dirs
-#
-#			binary_files     # how many bin files in total
-#
-#			ascii_files      # how many text files in total
-#
-#			size             # total size
-#
-#     lines            # total lines in text files (perl_* above is included
-#                      # in this 'lines' value
-#
-#     perl_comments    # total perl standalone comments
-#
-#     perl_gray        # inline comment on a perl line
-#
-#     perl_code        # pure code lines
-#
-#     perl_pod         # pod lines
-#
-#     perl_empty       # number of empty (except whitespace) lines
-#   
-#      matches => {     # files with that extension/selector
-#       ...ext...
-#     }
-#
-#      filetypes => {   # files of that type
-#       ...ftype...
-#     }
-#
-#     perl_functions   # Total number of Perl functions in the source
-#
-#    # Each file's stat() data
-#   tree => {
-#     ...file... => {
-#        size => (stat _)[7],
-#        atime => (stat _)[8],
-#        mtime => (stat _)[9],
-#        ctime => (stat _)[10],
-#        type  => directory/text/binary
-#        (for text only below)
-#        subtype> subtype (binary image, text c source, text perl source..)
-#        ext   => extension as recognized by file matcher
-#        lines => number of lines
-#        code => lines of code
-#        comments => lines of perl-style comments
-#        pod => lines of POD
-#        gray => mixed, same as above in total{}
-#        empty => empty lines (including whitespace)
-#     }
-#   }
-#
-#   # Symbols
-#   symbols => {
-#     pragma => {              # pragma symbols
-#       name => {              # pragma name
-#         file => [ line num ] # file/line-information it occurs in
-#       }
-#     }
-#   }
-#
-#   # Item specific data
-#   specific => {
-#     symbol name => {
-#        # something...
-#     }
-#   }
-# )
-#
-#



1.5       +1647 -2561xmldocs/cache/4.6.0/.cache.bin


<<.cache.bin: data>>


1.5       +9918 -18745xmldocs/cache/4.8.0/.cache.bin


rev 1.5, prev_rev 1.4
Index: .cache.bin
===================================================================
RCS file: /var/cvs/xmldocs/cache/4.8.0/.cache.bin,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
Binary files /tmp/cvsSMX4aa and /tmp/cvsQrkP27 differ



1.5       +17961 -32724xmldocs/cache/5.0.0/.cache.bin


rev 1.5, prev_rev 1.4
Index: .cache.bin
===================================================================
RCS file: /var/cvs/xmldocs/cache/5.0.0/.cache.bin,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
Binary files /tmp/cvsuN52NC and /tmp/cvsO7hF2D differ



1.5       +18446 -33656xmldocs/cache/5.2.0/.cache.bin


rev 1.5, prev_rev 1.4
Index: .cache.bin
===================================================================
RCS file: /var/cvs/xmldocs/cache/5.2.0/.cache.bin,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
Binary files /tmp/cvsY5ua5F and /tmp/cvsKAK5WK differ



1.13      +19056 -35134xmldocs/cache/cvs-head/.cache.bin


rev 1.13, prev_rev 1.12
Index: .cache.bin
===================================================================
RCS file: /var/cvs/xmldocs/cache/cvs-head/.cache.bin,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -r1.12 -r1.13
Binary files /tmp/cvs0dPSsx and /tmp/cvsoIGzCF differ



1.3       +1 -2      xmldocs/refs/MV_SUBJECT/control


rev 1.3, prev_rev 1.2
Index: control
===================================================================
RCS file: /var/cvs/xmldocs/refs/MV_SUBJECT/control,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -r1.2 -r1.3
--- control	24 Aug 2004 18:26:44 -0000	1.2
+++ control	25 Aug 2004 09:53:10 -0000	1.3
@@ -1,4 +1,3 @@
-purpose: none
+purpose:
 default: none
 #missing:the variable was only used in the skeleton foundation catalog?
-ignore: y



1.2       +0 -1      xmldocs/refs/MV_SUBJECT/notes


<<notes: empty>>







More information about the docs mailing list