OpenCores
URL https://opencores.org/ocsvn/core_arm/core_arm/trunk

Subversion Repositories core_arm

[/] [core_arm/] [trunk/] [soft/] [doc/] [doc.pl] - Rev 5

Go to most recent revision | Compare with Previous | Blame | View Log

#!/usr/bin/perl 
# Purpose: Generate annotated .html files out of list of .vhdl files
# call:
# $ doc.pl <filelist-filename>
 
#$dbgon = 1;
 
$sp = "[\\s]*";
$id = "[a-zA-Z][a-zA-Z0-9_]*";
$spid = "[a-zA-Z0-9_]*";
 
print("Require doc1.pl\n");
require "doc1.pl";
print("Require doc2.pl\n");
require "doc2.pl";
print("Require doc3.pl\n");
require "doc3.pl";
print("Require doc4.pl\n");
require "doc4.pl";
print("Require doc5.pl\n");
require "doc5.pl";
print("Require doc6.pl\n");
require "doc6.pl";
 
if ($d3_maintemplate eq "") {
    die ("The [main] entry for the main template is missing in the config file\n");
}
 
$body_all = "";
print("Read all files\n");
$body_all = d3_readallfiles();
print("Createusage\n");
d3_createusage($body_all);
 
d2_dumpmasks();
d3_dumpfilelist();
 
print("Scanning for records\n");
d2_scanrecords($body_all);
print("Scanning for functions\n");
d2_scanfuncs($body_all);
print("Scanning for procedures\n");
d2_scanprocedures($body_all);
print("Scanning for constants\n");
d2_scanconsts($body_all);
print("Scanning for enums\n");
d2_scanenums($body_all);
print("Scanning for entities\n");
d2_scanentities($body_all);
print("Scanning for architectures\n");
d2_scanarchs($body_all);
 
d2_dumpscan();
 
 
if (!($d3_header eq "" || $d3_fileselect eq "")) {
 
    $header = d6_createheader($filename,$d3_header);
    $header = d3_template_pathreplace($header,$d3_fileselect);
 
    if (-e $d3_fileselect) {
	`cp $d3_fileselect $d3_fileselect.back`;
    }
 
    open $F,">$d3_fileselect" or die ("Unable to open output $d3_fileselect\n");
    print $F $header; 
    close $F;
    print("Save fileselect $d3_fileselect\n");
}
 
if (!($d3_frame eq "" || $d3_framebase eq "")) {
 
    $d3_header = d3_relpath($d3_framebase,$d3_fileselect);
    $d3_frame =~ s/%fileselect%/$d3_header/gi;
 
    if (-e $d3_framebase) {
	`cp $d3_framebase $d3_framebase.back`;
    }
    open $F,">$d3_framebase" or die ("Unable to open output $d3_framebase\n");
    print $F $d3_frame; 
    close $F;
    print("Save index $d3_framebase\n");
}
 
print("Assembling output\n");
 
@ar = @d3_files;
$body = "";
$off = 0;
$filename;
foreach(@ar) {
    $filename = $_;
 
    print ("Processing file $_\n");
 
    $body = d3_readfile($filename,1);
    d1_process($body,$off);
    $html = d5_gethtml($off,$off + length($body),"");
 
    $header = "";
 
    $html = d5_assemblehtml($filename,$html,$d5_dumphtml_types,$d3_maintemplate,$header);
    $html =~ s/(--[^\n]*\n)/<span class="comment">\1<\/span>/g;
    $html = d3_template_replace($html);
 
    if (not ($filename =~ /\.htlm$/)) {
	$filename =~ s/\.[a-zA-Z]*?$/\.html/i;
 
	$html = d3_template_pathreplace($html,$filename);
 
	if (-e $filename) {
	    `cp $filename $filename.back`;
	}
	open $F,">$filename" or die ("Unable to open output $filename\n");
	print $F $html; 
	close $F;
	print("Save $filename\n");
    }
    $d5_dumphtml_types = "";
    %d5_dumphtml_types_alloc = ();
    $off += length($body);
}
 
#d5_dumpcut();
 
 
 

Go to most recent revision | Compare with Previous | Blame | View Log

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.