rdoc-f95 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/History.txt +4 -0
 - data/Manifest.txt +79 -0
 - data/PostInstall.txt +7 -0
 - data/README.rdoc +147 -0
 - data/Rakefile +28 -0
 - data/bin/rdoc-f95 +70 -0
 - data/lib/rdoc-f95.rb +306 -0
 - data/lib/rdoc-f95/code_objects.rb +776 -0
 - data/lib/rdoc-f95/diagram.rb +342 -0
 - data/lib/rdoc-f95/dot.rb +249 -0
 - data/lib/rdoc-f95/generator.rb +1088 -0
 - data/lib/rdoc-f95/generator/chm.rb +113 -0
 - data/lib/rdoc-f95/generator/chm/chm.rb +98 -0
 - data/lib/rdoc-f95/generator/html.rb +370 -0
 - data/lib/rdoc-f95/generator/html/hefss.rb +414 -0
 - data/lib/rdoc-f95/generator/html/html.rb +708 -0
 - data/lib/rdoc-f95/generator/html/kilmer.rb +418 -0
 - data/lib/rdoc-f95/generator/html/one_page_html.rb +121 -0
 - data/lib/rdoc-f95/generator/ri.rb +229 -0
 - data/lib/rdoc-f95/generator/xhtml.rb +106 -0
 - data/lib/rdoc-f95/generator/xhtml/ctop.xsl +1318 -0
 - data/lib/rdoc-f95/generator/xhtml/mathml.xsl +42 -0
 - data/lib/rdoc-f95/generator/xhtml/pmathml.xsl +612 -0
 - data/lib/rdoc-f95/generator/xhtml/pmathmlcss.xsl +872 -0
 - data/lib/rdoc-f95/generator/xhtml/xhtml.rb +732 -0
 - data/lib/rdoc-f95/generator/xml.rb +120 -0
 - data/lib/rdoc-f95/generator/xml/rdf.rb +113 -0
 - data/lib/rdoc-f95/generator/xml/xml.rb +111 -0
 - data/lib/rdoc-f95/install.rb +166 -0
 - data/lib/rdoc-f95/markup.rb +506 -0
 - data/lib/rdoc-f95/markup/formatter.rb +14 -0
 - data/lib/rdoc-f95/markup/fragments.rb +337 -0
 - data/lib/rdoc-f95/markup/inline.rb +361 -0
 - data/lib/rdoc-f95/markup/install.rb +57 -0
 - data/lib/rdoc-f95/markup/lines.rb +152 -0
 - data/lib/rdoc-f95/markup/mathml_wrapper.rb +91 -0
 - data/lib/rdoc-f95/markup/preprocess.rb +71 -0
 - data/lib/rdoc-f95/markup/sample/rdoc2latex.rb +16 -0
 - data/lib/rdoc-f95/markup/sample/sample.rb +42 -0
 - data/lib/rdoc-f95/markup/to_flow.rb +185 -0
 - data/lib/rdoc-f95/markup/to_html.rb +357 -0
 - data/lib/rdoc-f95/markup/to_html_crossref.rb +123 -0
 - data/lib/rdoc-f95/markup/to_latex.rb +328 -0
 - data/lib/rdoc-f95/markup/to_test.rb +50 -0
 - data/lib/rdoc-f95/markup/to_xhtml_texparser.rb +234 -0
 - data/lib/rdoc-f95/options.rb +745 -0
 - data/lib/rdoc-f95/parsers/parse_c.rb +775 -0
 - data/lib/rdoc-f95/parsers/parse_f95.rb +2499 -0
 - data/lib/rdoc-f95/parsers/parse_rb.rb +2587 -0
 - data/lib/rdoc-f95/parsers/parse_simple.rb +39 -0
 - data/lib/rdoc-f95/parsers/parserfactory.rb +99 -0
 - data/lib/rdoc-f95/ri.rb +2 -0
 - data/lib/rdoc-f95/ri/cache.rb +188 -0
 - data/lib/rdoc-f95/ri/descriptions.rb +147 -0
 - data/lib/rdoc-f95/ri/display.rb +244 -0
 - data/lib/rdoc-f95/ri/driver.rb +435 -0
 - data/lib/rdoc-f95/ri/formatter.rb +603 -0
 - data/lib/rdoc-f95/ri/paths.rb +105 -0
 - data/lib/rdoc-f95/ri/reader.rb +106 -0
 - data/lib/rdoc-f95/ri/util.rb +81 -0
 - data/lib/rdoc-f95/ri/writer.rb +64 -0
 - data/lib/rdoc-f95/stats.rb +23 -0
 - data/lib/rdoc-f95/template.rb +64 -0
 - data/lib/rdoc-f95/tokenstream.rb +33 -0
 - data/lib/rdoc-f95/usage.rb +210 -0
 - data/script/console +10 -0
 - data/script/destroy +14 -0
 - data/script/generate +14 -0
 - data/test/test_helper.rb +3 -0
 - data/test/test_rdoc-f95.rb +11 -0
 - metadata +156 -0
 
| 
         @@ -0,0 +1,120 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rdoc-f95/generator/html'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            ##
         
     | 
| 
      
 4 
     | 
    
         
            +
            # Generate XML output as one big file
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            class RDocF95::Generator::XML < RDocF95::Generator::HTML
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
              ##
         
     | 
| 
      
 9 
     | 
    
         
            +
              # Standard generator factory
         
     | 
| 
      
 10 
     | 
    
         
            +
             
     | 
| 
      
 11 
     | 
    
         
            +
              def self.for(options)
         
     | 
| 
      
 12 
     | 
    
         
            +
                new(options)
         
     | 
| 
      
 13 
     | 
    
         
            +
              end
         
     | 
| 
      
 14 
     | 
    
         
            +
             
     | 
| 
      
 15 
     | 
    
         
            +
              def initialize(*args)
         
     | 
| 
      
 16 
     | 
    
         
            +
                super
         
     | 
| 
      
 17 
     | 
    
         
            +
              end
         
     | 
| 
      
 18 
     | 
    
         
            +
             
     | 
| 
      
 19 
     | 
    
         
            +
              ##
         
     | 
| 
      
 20 
     | 
    
         
            +
              # Build the initial indices and output objects
         
     | 
| 
      
 21 
     | 
    
         
            +
              # based on an array of TopLevel objects containing
         
     | 
| 
      
 22 
     | 
    
         
            +
              # the extracted information.
         
     | 
| 
      
 23 
     | 
    
         
            +
             
     | 
| 
      
 24 
     | 
    
         
            +
              def generate(info)
         
     | 
| 
      
 25 
     | 
    
         
            +
                @info       = info
         
     | 
| 
      
 26 
     | 
    
         
            +
                @files      = []
         
     | 
| 
      
 27 
     | 
    
         
            +
                @classes    = []
         
     | 
| 
      
 28 
     | 
    
         
            +
                @hyperlinks = {}
         
     | 
| 
      
 29 
     | 
    
         
            +
             
     | 
| 
      
 30 
     | 
    
         
            +
                build_indices
         
     | 
| 
      
 31 
     | 
    
         
            +
                generate_xml
         
     | 
| 
      
 32 
     | 
    
         
            +
              end
         
     | 
| 
      
 33 
     | 
    
         
            +
             
     | 
| 
      
 34 
     | 
    
         
            +
              ##
         
     | 
| 
      
 35 
     | 
    
         
            +
              # Generate:
         
     | 
| 
      
 36 
     | 
    
         
            +
              #
         
     | 
| 
      
 37 
     | 
    
         
            +
              # * a list of HtmlFile objects for each TopLevel object.
         
     | 
| 
      
 38 
     | 
    
         
            +
              # * a list of HtmlClass objects for each first level
         
     | 
| 
      
 39 
     | 
    
         
            +
              #   class or module in the TopLevel objects
         
     | 
| 
      
 40 
     | 
    
         
            +
              # * a complete list of all hyperlinkable terms (file,
         
     | 
| 
      
 41 
     | 
    
         
            +
              #   class, module, and method names)
         
     | 
| 
      
 42 
     | 
    
         
            +
             
     | 
| 
      
 43 
     | 
    
         
            +
              def build_indices
         
     | 
| 
      
 44 
     | 
    
         
            +
                @info.each do |toplevel|
         
     | 
| 
      
 45 
     | 
    
         
            +
                  @files << RDocF95::Generator::HtmlFile.new(toplevel, @options, RDocF95::Generator::FILE_DIR)
         
     | 
| 
      
 46 
     | 
    
         
            +
                end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
                RDocF95::TopLevel.all_classes_and_modules.each do |cls|
         
     | 
| 
      
 49 
     | 
    
         
            +
                  build_class_list(cls, @files[0], RDocF95::Generator::CLASS_DIR)
         
     | 
| 
      
 50 
     | 
    
         
            +
                end
         
     | 
| 
      
 51 
     | 
    
         
            +
              end
         
     | 
| 
      
 52 
     | 
    
         
            +
             
     | 
| 
      
 53 
     | 
    
         
            +
              def build_class_list(from, html_file, class_dir)
         
     | 
| 
      
 54 
     | 
    
         
            +
                @classes << RDocF95::Generator::HtmlClass.new(from, html_file, class_dir, @options)
         
     | 
| 
      
 55 
     | 
    
         
            +
                from.each_classmodule do |mod|
         
     | 
| 
      
 56 
     | 
    
         
            +
                  build_class_list(mod, html_file, class_dir)
         
     | 
| 
      
 57 
     | 
    
         
            +
                end
         
     | 
| 
      
 58 
     | 
    
         
            +
              end
         
     | 
| 
      
 59 
     | 
    
         
            +
             
     | 
| 
      
 60 
     | 
    
         
            +
              ##
         
     | 
| 
      
 61 
     | 
    
         
            +
              # Generate all the HTML. For the one-file case, we generate
         
     | 
| 
      
 62 
     | 
    
         
            +
              # all the information in to one big hash
         
     | 
| 
      
 63 
     | 
    
         
            +
             
     | 
| 
      
 64 
     | 
    
         
            +
              def generate_xml
         
     | 
| 
      
 65 
     | 
    
         
            +
                values = {
         
     | 
| 
      
 66 
     | 
    
         
            +
                  'charset' => @options.charset,
         
     | 
| 
      
 67 
     | 
    
         
            +
                  'files'   => gen_into(@files),
         
     | 
| 
      
 68 
     | 
    
         
            +
                  'classes' => gen_into(@classes)
         
     | 
| 
      
 69 
     | 
    
         
            +
                }
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
                # this method is defined in the template file
         
     | 
| 
      
 72 
     | 
    
         
            +
                write_extra_pages if defined? write_extra_pages
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
                template = RDocF95::TemplatePage.new @template::ONE_PAGE
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
                if @options.op_name
         
     | 
| 
      
 77 
     | 
    
         
            +
                  opfile = File.open(@options.op_name, "w")
         
     | 
| 
      
 78 
     | 
    
         
            +
                else
         
     | 
| 
      
 79 
     | 
    
         
            +
                  opfile = $stdout
         
     | 
| 
      
 80 
     | 
    
         
            +
                end
         
     | 
| 
      
 81 
     | 
    
         
            +
                template.write_html_on(opfile, values)
         
     | 
| 
      
 82 
     | 
    
         
            +
              end
         
     | 
| 
      
 83 
     | 
    
         
            +
             
     | 
| 
      
 84 
     | 
    
         
            +
              def gen_into(list)
         
     | 
| 
      
 85 
     | 
    
         
            +
                res = []
         
     | 
| 
      
 86 
     | 
    
         
            +
                list.each do |item|
         
     | 
| 
      
 87 
     | 
    
         
            +
                  res << item.value_hash
         
     | 
| 
      
 88 
     | 
    
         
            +
                end
         
     | 
| 
      
 89 
     | 
    
         
            +
                res
         
     | 
| 
      
 90 
     | 
    
         
            +
              end
         
     | 
| 
      
 91 
     | 
    
         
            +
             
     | 
| 
      
 92 
     | 
    
         
            +
              def gen_file_index
         
     | 
| 
      
 93 
     | 
    
         
            +
                gen_an_index(@files, 'Files')
         
     | 
| 
      
 94 
     | 
    
         
            +
              end
         
     | 
| 
      
 95 
     | 
    
         
            +
             
     | 
| 
      
 96 
     | 
    
         
            +
              def gen_class_index
         
     | 
| 
      
 97 
     | 
    
         
            +
                gen_an_index(@classes, 'Classes')
         
     | 
| 
      
 98 
     | 
    
         
            +
              end
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
              def gen_method_index
         
     | 
| 
      
 101 
     | 
    
         
            +
                gen_an_index(RDocF95::Generator::HtmlMethod.all_methods, 'Methods')
         
     | 
| 
      
 102 
     | 
    
         
            +
              end
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
              def gen_an_index(collection, title)
         
     | 
| 
      
 105 
     | 
    
         
            +
                res = []
         
     | 
| 
      
 106 
     | 
    
         
            +
                collection.sort.each do |f|
         
     | 
| 
      
 107 
     | 
    
         
            +
                  if f.document_self
         
     | 
| 
      
 108 
     | 
    
         
            +
                    res << { "href" => f.path, "name" => f.index_name }
         
     | 
| 
      
 109 
     | 
    
         
            +
                  end
         
     | 
| 
      
 110 
     | 
    
         
            +
                end
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
                return {
         
     | 
| 
      
 113 
     | 
    
         
            +
                  "entries" => res,
         
     | 
| 
      
 114 
     | 
    
         
            +
                  'list_title' => title,
         
     | 
| 
      
 115 
     | 
    
         
            +
                  'index_url'  => main_url,
         
     | 
| 
      
 116 
     | 
    
         
            +
                }
         
     | 
| 
      
 117 
     | 
    
         
            +
              end
         
     | 
| 
      
 118 
     | 
    
         
            +
             
     | 
| 
      
 119 
     | 
    
         
            +
            end
         
     | 
| 
      
 120 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,113 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rdoc-f95/generator/xml'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module RDocF95::Generator::XML::RDF
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              CONTENTS_RDF = <<-EOF
         
     | 
| 
      
 6 
     | 
    
         
            +
            <% if defined? classes and classes["description"] then %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <description rd:parseType="Literal">
         
     | 
| 
      
 8 
     | 
    
         
            +
            <%= classes["description"] %>
         
     | 
| 
      
 9 
     | 
    
         
            +
                </description>
         
     | 
| 
      
 10 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 11 
     | 
    
         
            +
             
     | 
| 
      
 12 
     | 
    
         
            +
            <% if defined? files and files["requires"] then %>
         
     | 
| 
      
 13 
     | 
    
         
            +
            <% files["requires"].each do |requires| %>
         
     | 
| 
      
 14 
     | 
    
         
            +
                     <rd:required-file rd:name="<%= requires["name"] %>" />
         
     | 
| 
      
 15 
     | 
    
         
            +
            <% end # files["requires"] %>
         
     | 
| 
      
 16 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            <% if defined? classes and classes["includes"] then %>
         
     | 
| 
      
 19 
     | 
    
         
            +
                  <IncludedModuleList>
         
     | 
| 
      
 20 
     | 
    
         
            +
            <% classes["includes"].each do |includes| %>
         
     | 
| 
      
 21 
     | 
    
         
            +
                    <included-module rd:name="<%= includes["name"] %>"  />
         
     | 
| 
      
 22 
     | 
    
         
            +
            <% end # includes["includes"] %>
         
     | 
| 
      
 23 
     | 
    
         
            +
                  </IncludedModuleList>
         
     | 
| 
      
 24 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 25 
     | 
    
         
            +
             
     | 
| 
      
 26 
     | 
    
         
            +
            <% if defined? classes and classes["sections"] then %>
         
     | 
| 
      
 27 
     | 
    
         
            +
            <% classes["sections"].each do |sections| %>
         
     | 
| 
      
 28 
     | 
    
         
            +
            <% if sections["attributes"] then %>
         
     | 
| 
      
 29 
     | 
    
         
            +
            <% sections["attributes"].each do |attributes| %>
         
     | 
| 
      
 30 
     | 
    
         
            +
                    <contents>
         
     | 
| 
      
 31 
     | 
    
         
            +
                    <Attribute rd:name="<%= attributes["name"] %>">
         
     | 
| 
      
 32 
     | 
    
         
            +
            <% if attributes["rw"] then %>
         
     | 
| 
      
 33 
     | 
    
         
            +
                      <attribute-rw><%= attributes["rw"] %></attribute-rw>
         
     | 
| 
      
 34 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 35 
     | 
    
         
            +
                      <description rdf:parseType="Literal"><%= attributes["a_desc"] %></description>
         
     | 
| 
      
 36 
     | 
    
         
            +
                    </Attribute>
         
     | 
| 
      
 37 
     | 
    
         
            +
                    </contents>
         
     | 
| 
      
 38 
     | 
    
         
            +
            <% end # sections["attributes"] %>
         
     | 
| 
      
 39 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
            <% if sections["method_list"] then %>
         
     | 
| 
      
 42 
     | 
    
         
            +
            <% sections["method_list"].each do |method_list| %>
         
     | 
| 
      
 43 
     | 
    
         
            +
            <% if method_list["methods"] then %>
         
     | 
| 
      
 44 
     | 
    
         
            +
            <% method_list["methods"].each do |methods| %>
         
     | 
| 
      
 45 
     | 
    
         
            +
            	<contents>
         
     | 
| 
      
 46 
     | 
    
         
            +
                    <Method rd:name="<%= methods["name"] %>" rd:visibility="<%= methods["type"] %>"
         
     | 
| 
      
 47 
     | 
    
         
            +
                            rd:category="<%= methods["category"] %>" rd:id="<%= methods["aref"] %>">
         
     | 
| 
      
 48 
     | 
    
         
            +
                      <parameters><%= methods["params"] %></parameters>
         
     | 
| 
      
 49 
     | 
    
         
            +
            <% if methods["m_desc"] then %>
         
     | 
| 
      
 50 
     | 
    
         
            +
                      <description rdf:parseType="Literal">
         
     | 
| 
      
 51 
     | 
    
         
            +
            <%= methods["m_desc"] %>
         
     | 
| 
      
 52 
     | 
    
         
            +
                      </description>
         
     | 
| 
      
 53 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 54 
     | 
    
         
            +
            <% if methods["sourcecode"] then %>
         
     | 
| 
      
 55 
     | 
    
         
            +
                      <source-code-listing rdf:parseType="Literal">
         
     | 
| 
      
 56 
     | 
    
         
            +
            <%= methods["sourcecode"] %>
         
     | 
| 
      
 57 
     | 
    
         
            +
                      </source-code-listing>
         
     | 
| 
      
 58 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 59 
     | 
    
         
            +
                    </Method>
         
     | 
| 
      
 60 
     | 
    
         
            +
                   </contents>
         
     | 
| 
      
 61 
     | 
    
         
            +
            <% end # method_list["methods"] %>
         
     | 
| 
      
 62 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 63 
     | 
    
         
            +
            <% end # sections["method_list"] %>
         
     | 
| 
      
 64 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 65 
     | 
    
         
            +
                 <!-- end method list -->
         
     | 
| 
      
 66 
     | 
    
         
            +
            <% end # classes["sections"] %>
         
     | 
| 
      
 67 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 68 
     | 
    
         
            +
              EOF
         
     | 
| 
      
 69 
     | 
    
         
            +
             
     | 
| 
      
 70 
     | 
    
         
            +
            ########################################################################
         
     | 
| 
      
 71 
     | 
    
         
            +
             
     | 
| 
      
 72 
     | 
    
         
            +
              ONE_PAGE = %{<?xml version="1.0" encoding="utf-8"?>
         
     | 
| 
      
 73 
     | 
    
         
            +
            <rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
         
     | 
| 
      
 74 
     | 
    
         
            +
                    xmlns="http://pragprog.com/rdoc/rdoc.rdf#"
         
     | 
| 
      
 75 
     | 
    
         
            +
                    xmlns:rd="http://pragprog.com/rdoc/rdoc.rdf#">
         
     | 
| 
      
 76 
     | 
    
         
            +
             
     | 
| 
      
 77 
     | 
    
         
            +
            <!-- RDoc -->
         
     | 
| 
      
 78 
     | 
    
         
            +
            <% values["files"].each do |files| %>
         
     | 
| 
      
 79 
     | 
    
         
            +
              <rd:File rd:name="<%= files["short_name"] %>" rd:id="<%= files["href"] %>">
         
     | 
| 
      
 80 
     | 
    
         
            +
                  <path><%= files["full_path"] %></path>
         
     | 
| 
      
 81 
     | 
    
         
            +
                  <dtm-modified><%= files["dtm_modified"] %></dtm-modified>
         
     | 
| 
      
 82 
     | 
    
         
            +
            } + CONTENTS_RDF + %{
         
     | 
| 
      
 83 
     | 
    
         
            +
              </rd:File>
         
     | 
| 
      
 84 
     | 
    
         
            +
            <% end # values["files"] %>
         
     | 
| 
      
 85 
     | 
    
         
            +
            <% values["classes"].each do |classes| %>
         
     | 
| 
      
 86 
     | 
    
         
            +
              <<%= values["classmod"] %> rd:name="<%= classes["full_name"] %>" rd:id="<%= classes["full_name"] %>">
         
     | 
| 
      
 87 
     | 
    
         
            +
                <classmod-info>
         
     | 
| 
      
 88 
     | 
    
         
            +
            <% if classes["infiles"] then %>
         
     | 
| 
      
 89 
     | 
    
         
            +
                  <InFiles>
         
     | 
| 
      
 90 
     | 
    
         
            +
            <% classes["infiles"].each do |infiles| %>
         
     | 
| 
      
 91 
     | 
    
         
            +
                    <infile>
         
     | 
| 
      
 92 
     | 
    
         
            +
                      <File rd:name="<%= infiles["full_path"] %>"
         
     | 
| 
      
 93 
     | 
    
         
            +
            <% if infiles["full_path_url"] then %>
         
     | 
| 
      
 94 
     | 
    
         
            +
                            rdf:about="<%= infiles["full_path_url"] %>"
         
     | 
| 
      
 95 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 96 
     | 
    
         
            +
                       />
         
     | 
| 
      
 97 
     | 
    
         
            +
                     </infile>
         
     | 
| 
      
 98 
     | 
    
         
            +
            <% end # classes["infiles"] %>
         
     | 
| 
      
 99 
     | 
    
         
            +
                  </InFiles>
         
     | 
| 
      
 100 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 101 
     | 
    
         
            +
            <% if classes["parent"] then %>
         
     | 
| 
      
 102 
     | 
    
         
            +
                 <superclass><%= href classes["par_url"], classes["parent"] %></superclass>
         
     | 
| 
      
 103 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 104 
     | 
    
         
            +
                </classmod-info>
         
     | 
| 
      
 105 
     | 
    
         
            +
            } + CONTENTS_RDF + %{
         
     | 
| 
      
 106 
     | 
    
         
            +
              </<%= classes["classmod"] %>>
         
     | 
| 
      
 107 
     | 
    
         
            +
            <% end # values["classes"] %>
         
     | 
| 
      
 108 
     | 
    
         
            +
            <!-- /RDoc -->
         
     | 
| 
      
 109 
     | 
    
         
            +
            </rdf:RDF>
         
     | 
| 
      
 110 
     | 
    
         
            +
            }
         
     | 
| 
      
 111 
     | 
    
         
            +
             
     | 
| 
      
 112 
     | 
    
         
            +
            end
         
     | 
| 
      
 113 
     | 
    
         
            +
             
     | 
| 
         @@ -0,0 +1,111 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rdoc-f95/generator/xml'
         
     | 
| 
      
 2 
     | 
    
         
            +
             
     | 
| 
      
 3 
     | 
    
         
            +
            module RDocF95::Generator::XML::XML
         
     | 
| 
      
 4 
     | 
    
         
            +
             
     | 
| 
      
 5 
     | 
    
         
            +
              CONTENTS_XML = <<-EOF
         
     | 
| 
      
 6 
     | 
    
         
            +
            <% if defined? classes and classes["description"] then %>
         
     | 
| 
      
 7 
     | 
    
         
            +
                <description>
         
     | 
| 
      
 8 
     | 
    
         
            +
            <%= classes["description"] %>
         
     | 
| 
      
 9 
     | 
    
         
            +
                </description>
         
     | 
| 
      
 10 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 11 
     | 
    
         
            +
                <contents>
         
     | 
| 
      
 12 
     | 
    
         
            +
            <% if defined? files and files["requires"] then %>
         
     | 
| 
      
 13 
     | 
    
         
            +
                  <required-file-list>
         
     | 
| 
      
 14 
     | 
    
         
            +
            <% files["requires"].each do |requires| %>
         
     | 
| 
      
 15 
     | 
    
         
            +
                     <required-file name="<%= requires["name"] %>"
         
     | 
| 
      
 16 
     | 
    
         
            +
            <% if requires["aref"] then %>
         
     | 
| 
      
 17 
     | 
    
         
            +
                                    href="<%= requires["aref"] %>"
         
     | 
| 
      
 18 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 19 
     | 
    
         
            +
                     />
         
     | 
| 
      
 20 
     | 
    
         
            +
            <% end # files["requires"] %>
         
     | 
| 
      
 21 
     | 
    
         
            +
                  </required-file-list>
         
     | 
| 
      
 22 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 23 
     | 
    
         
            +
            <% if defined? classes and classes["sections"] then %>
         
     | 
| 
      
 24 
     | 
    
         
            +
            <% classes["sections"].each do |sections| %>
         
     | 
| 
      
 25 
     | 
    
         
            +
            <% if sections["attributes"] then %>
         
     | 
| 
      
 26 
     | 
    
         
            +
                  <attribute-list>
         
     | 
| 
      
 27 
     | 
    
         
            +
            <% sections["attributes"].each do |attributes| %>
         
     | 
| 
      
 28 
     | 
    
         
            +
                    <attribute name="<%= attributes["name"] %>">
         
     | 
| 
      
 29 
     | 
    
         
            +
            <% if attributes["rw"] then %>
         
     | 
| 
      
 30 
     | 
    
         
            +
                      <attribute-rw><%= attributes["rw"] %></attribute-rw>
         
     | 
| 
      
 31 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 32 
     | 
    
         
            +
                      <description><%= attributes["a_desc"] %></description>
         
     | 
| 
      
 33 
     | 
    
         
            +
                    </attribute>
         
     | 
| 
      
 34 
     | 
    
         
            +
            <% end # sections["attributes"] %>
         
     | 
| 
      
 35 
     | 
    
         
            +
                  </attribute-list>
         
     | 
| 
      
 36 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 37 
     | 
    
         
            +
            <% if sections["method_list"] then %>
         
     | 
| 
      
 38 
     | 
    
         
            +
                  <method-list>
         
     | 
| 
      
 39 
     | 
    
         
            +
            <% sections["method_list"].each do |method_list| %>
         
     | 
| 
      
 40 
     | 
    
         
            +
            <% if method_list["methods"] then %>
         
     | 
| 
      
 41 
     | 
    
         
            +
            <% method_list["methods"].each do |methods| %>
         
     | 
| 
      
 42 
     | 
    
         
            +
                    <method name="<%= methods["name"] %>" type="<%= methods["type"] %>" category="<%= methods["category"] %>" id="<%= methods["aref"] %>">
         
     | 
| 
      
 43 
     | 
    
         
            +
                      <parameters><%= methods["params"] %></parameters>
         
     | 
| 
      
 44 
     | 
    
         
            +
            <% if methods["m_desc"] then %>
         
     | 
| 
      
 45 
     | 
    
         
            +
                      <description>
         
     | 
| 
      
 46 
     | 
    
         
            +
            <%= methods["m_desc"] %>
         
     | 
| 
      
 47 
     | 
    
         
            +
                      </description>
         
     | 
| 
      
 48 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 49 
     | 
    
         
            +
            <% if methods["sourcecode"] then %>
         
     | 
| 
      
 50 
     | 
    
         
            +
                      <source-code-listing>
         
     | 
| 
      
 51 
     | 
    
         
            +
            <%= methods["sourcecode"] %>
         
     | 
| 
      
 52 
     | 
    
         
            +
                      </source-code-listing>
         
     | 
| 
      
 53 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 54 
     | 
    
         
            +
                    </method>
         
     | 
| 
      
 55 
     | 
    
         
            +
            <% end # method_list["methods"] %>
         
     | 
| 
      
 56 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 57 
     | 
    
         
            +
            <% end # sections["method_list"] %>
         
     | 
| 
      
 58 
     | 
    
         
            +
                  </method-list>
         
     | 
| 
      
 59 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 60 
     | 
    
         
            +
            <% end # classes["sections"] %>
         
     | 
| 
      
 61 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 62 
     | 
    
         
            +
            <% if defined? classes and classes["includes"] then %>
         
     | 
| 
      
 63 
     | 
    
         
            +
                  <included-module-list>
         
     | 
| 
      
 64 
     | 
    
         
            +
            <% classes["includes"].each do |includes| %>
         
     | 
| 
      
 65 
     | 
    
         
            +
                    <included-module name="<%= includes["name"] %>"
         
     | 
| 
      
 66 
     | 
    
         
            +
            <% if includes["aref"] then %>
         
     | 
| 
      
 67 
     | 
    
         
            +
                                     href="<%= includes["aref"] %>"
         
     | 
| 
      
 68 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 69 
     | 
    
         
            +
                    />
         
     | 
| 
      
 70 
     | 
    
         
            +
            <% end # classes["includes"] %>
         
     | 
| 
      
 71 
     | 
    
         
            +
                  </included-module-list>
         
     | 
| 
      
 72 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 73 
     | 
    
         
            +
                </contents>
         
     | 
| 
      
 74 
     | 
    
         
            +
              EOF
         
     | 
| 
      
 75 
     | 
    
         
            +
             
     | 
| 
      
 76 
     | 
    
         
            +
              ONE_PAGE = %{<?xml version="1.0" encoding="utf-8"?>
         
     | 
| 
      
 77 
     | 
    
         
            +
            <rdoc>
         
     | 
| 
      
 78 
     | 
    
         
            +
            <file-list>
         
     | 
| 
      
 79 
     | 
    
         
            +
            <% values["files"].each do |files| %>
         
     | 
| 
      
 80 
     | 
    
         
            +
              <file name="<%= files["short_name"] %>" id="<%= files["href"] %>">
         
     | 
| 
      
 81 
     | 
    
         
            +
                <file-info>
         
     | 
| 
      
 82 
     | 
    
         
            +
                  <path><%= files["full_path"] %></path>
         
     | 
| 
      
 83 
     | 
    
         
            +
                  <dtm-modified><%= files["dtm_modified"] %></dtm-modified>
         
     | 
| 
      
 84 
     | 
    
         
            +
                </file-info>
         
     | 
| 
      
 85 
     | 
    
         
            +
            } + CONTENTS_XML + %{
         
     | 
| 
      
 86 
     | 
    
         
            +
              </file>
         
     | 
| 
      
 87 
     | 
    
         
            +
            <% end # values["files"] %>
         
     | 
| 
      
 88 
     | 
    
         
            +
            </file-list>
         
     | 
| 
      
 89 
     | 
    
         
            +
            <class-module-list>
         
     | 
| 
      
 90 
     | 
    
         
            +
            <% values["classes"].each do |classes| %>
         
     | 
| 
      
 91 
     | 
    
         
            +
              <<%= classes["classmod"] %> name="<%= classes["full_name"] %>" id="<%= classes["full_name"] %>">
         
     | 
| 
      
 92 
     | 
    
         
            +
                <classmod-info>
         
     | 
| 
      
 93 
     | 
    
         
            +
            <% if classes["infiles"] then %>
         
     | 
| 
      
 94 
     | 
    
         
            +
                  <infiles>
         
     | 
| 
      
 95 
     | 
    
         
            +
            <% classes["infiles"].each do |infiles|  %>
         
     | 
| 
      
 96 
     | 
    
         
            +
                    <infile><%= href infiles["full_path_url"], infiles["full_path"] %></infile>
         
     | 
| 
      
 97 
     | 
    
         
            +
            <% end # classes["infiles"] %>
         
     | 
| 
      
 98 
     | 
    
         
            +
                  </infiles>
         
     | 
| 
      
 99 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 100 
     | 
    
         
            +
            <% if classes["parent"] then %>
         
     | 
| 
      
 101 
     | 
    
         
            +
                 <superclass><%= href classes["par_url"], classes["parent"] %></superclass>
         
     | 
| 
      
 102 
     | 
    
         
            +
            <% end %>
         
     | 
| 
      
 103 
     | 
    
         
            +
                </classmod-info>
         
     | 
| 
      
 104 
     | 
    
         
            +
            } + CONTENTS_XML + %{
         
     | 
| 
      
 105 
     | 
    
         
            +
              </<%= classes["classmod"] %>>
         
     | 
| 
      
 106 
     | 
    
         
            +
            <% end # values["classes"] %>
         
     | 
| 
      
 107 
     | 
    
         
            +
            </class-module-list>
         
     | 
| 
      
 108 
     | 
    
         
            +
            </rdoc>
         
     | 
| 
      
 109 
     | 
    
         
            +
            }
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            end
         
     | 
| 
         @@ -0,0 +1,166 @@ 
     | 
|
| 
      
 1 
     | 
    
         
            +
            require 'rbconfig'
         
     | 
| 
      
 2 
     | 
    
         
            +
            require 'find'
         
     | 
| 
      
 3 
     | 
    
         
            +
            require 'fileutils'
         
     | 
| 
      
 4 
     | 
    
         
            +
            require 'optparse'
         
     | 
| 
      
 5 
     | 
    
         
            +
             
     | 
| 
      
 6 
     | 
    
         
            +
            include Config
         
     | 
| 
      
 7 
     | 
    
         
            +
             
     | 
| 
      
 8 
     | 
    
         
            +
            $ruby = CONFIG['ruby_install_name']
         
     | 
| 
      
 9 
     | 
    
         
            +
             
     | 
| 
      
 10 
     | 
    
         
            +
            ##
         
     | 
| 
      
 11 
     | 
    
         
            +
            # Install a binary file. We patch in on the way through to
         
     | 
| 
      
 12 
     | 
    
         
            +
            # insert a #! line. If this is a Unix install, we name
         
     | 
| 
      
 13 
     | 
    
         
            +
            # the command (for example) 'rdoc-f95' and let the shebang line
         
     | 
| 
      
 14 
     | 
    
         
            +
            # handle running it. Under windows, we add a '.rb' extension
         
     | 
| 
      
 15 
     | 
    
         
            +
            # and let file associations to their stuff
         
     | 
| 
      
 16 
     | 
    
         
            +
            #
         
     | 
| 
      
 17 
     | 
    
         
            +
             
     | 
| 
      
 18 
     | 
    
         
            +
            def installBIN(from, opfile)
         
     | 
| 
      
 19 
     | 
    
         
            +
             
     | 
| 
      
 20 
     | 
    
         
            +
              tmp_dir = nil
         
     | 
| 
      
 21 
     | 
    
         
            +
              [".", "/tmp", "c:/temp", $bindir].each{|t|
         
     | 
| 
      
 22 
     | 
    
         
            +
                stat = File.stat(t) rescue next
         
     | 
| 
      
 23 
     | 
    
         
            +
                if stat.directory? and stat.writable?
         
     | 
| 
      
 24 
     | 
    
         
            +
                  tmp_dir = t
         
     | 
| 
      
 25 
     | 
    
         
            +
                  break
         
     | 
| 
      
 26 
     | 
    
         
            +
                end
         
     | 
| 
      
 27 
     | 
    
         
            +
              }
         
     | 
| 
      
 28 
     | 
    
         
            +
             
     | 
| 
      
 29 
     | 
    
         
            +
              fail "Cannot find a temporary directory" unless tmp_dir
         
     | 
| 
      
 30 
     | 
    
         
            +
              tmp_file = File.join(tmp_dir, "_tmp")
         
     | 
| 
      
 31 
     | 
    
         
            +
                
         
     | 
| 
      
 32 
     | 
    
         
            +
                
         
     | 
| 
      
 33 
     | 
    
         
            +
              File.open(from) do |ip|
         
     | 
| 
      
 34 
     | 
    
         
            +
                File.open(tmp_file, "w") do |op|
         
     | 
| 
      
 35 
     | 
    
         
            +
                  ruby = File.join($realbindir, $ruby)
         
     | 
| 
      
 36 
     | 
    
         
            +
            #      op.puts "#!#{ruby}"
         
     | 
| 
      
 37 
     | 
    
         
            +
                  op.write ip.read
         
     | 
| 
      
 38 
     | 
    
         
            +
                end
         
     | 
| 
      
 39 
     | 
    
         
            +
              end
         
     | 
| 
      
 40 
     | 
    
         
            +
             
     | 
| 
      
 41 
     | 
    
         
            +
              opfile += ".rb" if CONFIG["target_os"] =~ /mswin/i
         
     | 
| 
      
 42 
     | 
    
         
            +
              FileUtils::makedirs($bindir, {:verbose => true})
         
     | 
| 
      
 43 
     | 
    
         
            +
              FileUtils::install(tmp_file, File.join($bindir, opfile), 
         
     | 
| 
      
 44 
     | 
    
         
            +
                                 {:mode => 0755, :verbose => true})
         
     | 
| 
      
 45 
     | 
    
         
            +
              FileUtils::safe_unlink(tmp_file)
         
     | 
| 
      
 46 
     | 
    
         
            +
            end
         
     | 
| 
      
 47 
     | 
    
         
            +
             
     | 
| 
      
 48 
     | 
    
         
            +
            # Main Program
         
     | 
| 
      
 49 
     | 
    
         
            +
             
     | 
| 
      
 50 
     | 
    
         
            +
            opt = OptionParser.new
         
     | 
| 
      
 51 
     | 
    
         
            +
            OPTS = {}
         
     | 
| 
      
 52 
     | 
    
         
            +
            opt.summary_width = 23
         
     | 
| 
      
 53 
     | 
    
         
            +
            opt.summary_indent = ''*1
         
     | 
| 
      
 54 
     | 
    
         
            +
            opt.on('--bindir=VAL',
         
     | 
| 
      
 55 
     | 
    
         
            +
                   'Directory to which the executable file is installed') \
         
     | 
| 
      
 56 
     | 
    
         
            +
                  {|v| $bindir = v.to_s}
         
     | 
| 
      
 57 
     | 
    
         
            +
            opt.on('--binname=VAL',
         
     | 
| 
      
 58 
     | 
    
         
            +
                   'Name of the executable file (default name is "rdoc")') \
         
     | 
| 
      
 59 
     | 
    
         
            +
                  {|v| $binname = v.to_s}
         
     | 
| 
      
 60 
     | 
    
         
            +
            opt.on('--libdir=VAL', 
         
     | 
| 
      
 61 
     | 
    
         
            +
                   'Directory to which the libraries are installed') \
         
     | 
| 
      
 62 
     | 
    
         
            +
                   {|v| $libdir = v.to_s}
         
     | 
| 
      
 63 
     | 
    
         
            +
            opt.on('--help', 'Show help message') {|v| OPTS[:help] = v}
         
     | 
| 
      
 64 
     | 
    
         
            +
             
     | 
| 
      
 65 
     | 
    
         
            +
            opt.parse!(ARGV)
         
     | 
| 
      
 66 
     | 
    
         
            +
             
     | 
| 
      
 67 
     | 
    
         
            +
            $bindir = File.expand_path($bindir) if $bindir
         
     | 
| 
      
 68 
     | 
    
         
            +
            $binname ||= "rdoc"
         
     | 
| 
      
 69 
     | 
    
         
            +
            $libdir = File.expand_path($libdir) if $libdir
         
     | 
| 
      
 70 
     | 
    
         
            +
             
     | 
| 
      
 71 
     | 
    
         
            +
            install_opt = ""
         
     | 
| 
      
 72 
     | 
    
         
            +
            install_opt = "--libdir=#{$libdir}" if $libdir
         
     | 
| 
      
 73 
     | 
    
         
            +
             
     | 
| 
      
 74 
     | 
    
         
            +
            if $libdir
         
     | 
| 
      
 75 
     | 
    
         
            +
              $sitedir = $libdir
         
     | 
| 
      
 76 
     | 
    
         
            +
            else
         
     | 
| 
      
 77 
     | 
    
         
            +
              $sitedir = CONFIG["sitelibdir"]
         
     | 
| 
      
 78 
     | 
    
         
            +
              unless $sitedir
         
     | 
| 
      
 79 
     | 
    
         
            +
                version = CONFIG["MAJOR"]+"."+CONFIG["MINOR"]
         
     | 
| 
      
 80 
     | 
    
         
            +
                $libdir = File.join(CONFIG["libdir"], "ruby", version)
         
     | 
| 
      
 81 
     | 
    
         
            +
                $sitedir = $:.find {|x| x =~ /site_ruby/}
         
     | 
| 
      
 82 
     | 
    
         
            +
                if !$sitedir
         
     | 
| 
      
 83 
     | 
    
         
            +
                  $sitedir = File.join($libdir, "site_ruby")
         
     | 
| 
      
 84 
     | 
    
         
            +
                elsif $sitedir !~ Regexp.quote(version)
         
     | 
| 
      
 85 
     | 
    
         
            +
                  $sitedir = File.join($sitedir, version)
         
     | 
| 
      
 86 
     | 
    
         
            +
                end
         
     | 
| 
      
 87 
     | 
    
         
            +
              end
         
     | 
| 
      
 88 
     | 
    
         
            +
            end
         
     | 
| 
      
 89 
     | 
    
         
            +
             
     | 
| 
      
 90 
     | 
    
         
            +
            $bindir ||= CONFIG["bindir"]
         
     | 
| 
      
 91 
     | 
    
         
            +
            $realbindir = $bindir
         
     | 
| 
      
 92 
     | 
    
         
            +
             
     | 
| 
      
 93 
     | 
    
         
            +
            bindir = CONFIG["bindir"]
         
     | 
| 
      
 94 
     | 
    
         
            +
             
     | 
| 
      
 95 
     | 
    
         
            +
            rdoc_dest = File.join($sitedir, "rdoc")
         
     | 
| 
      
 96 
     | 
    
         
            +
            rdoc_generator = File.join(rdoc_dest, "generator")
         
     | 
| 
      
 97 
     | 
    
         
            +
            rdoc_parsers   = File.join(rdoc_dest, "parsers")
         
     | 
| 
      
 98 
     | 
    
         
            +
            rdoc_ri        = File.join(rdoc_dest, "ri")
         
     | 
| 
      
 99 
     | 
    
         
            +
             
     | 
| 
      
 100 
     | 
    
         
            +
            # help message
         
     | 
| 
      
 101 
     | 
    
         
            +
            if ARGV[0] || OPTS[:help]
         
     | 
| 
      
 102 
     | 
    
         
            +
              print <<-HELP
         
     | 
| 
      
 103 
     | 
    
         
            +
             
     | 
| 
      
 104 
     | 
    
         
            +
              This ruby script installs libraries to \"#{$sitedir}\",
         
     | 
| 
      
 105 
     | 
    
         
            +
              and executables to \"#{$bindir}/#{$binname}\". (See \"rbconfig.rb\")
         
     | 
| 
      
 106 
     | 
    
         
            +
             
     | 
| 
      
 107 
     | 
    
         
            +
              If you want to install other directory, use following options.
         
     | 
| 
      
 108 
     | 
    
         
            +
             
     | 
| 
      
 109 
     | 
    
         
            +
              #{opt.help}
         
     | 
| 
      
 110 
     | 
    
         
            +
             
     | 
| 
      
 111 
     | 
    
         
            +
            HELP
         
     | 
| 
      
 112 
     | 
    
         
            +
              exit
         
     | 
| 
      
 113 
     | 
    
         
            +
            end
         
     | 
| 
      
 114 
     | 
    
         
            +
             
     | 
| 
      
 115 
     | 
    
         
            +
            # make directories
         
     | 
| 
      
 116 
     | 
    
         
            +
            [
         
     | 
| 
      
 117 
     | 
    
         
            +
              rdoc_dest,  
         
     | 
| 
      
 118 
     | 
    
         
            +
              rdoc_generator, 
         
     | 
| 
      
 119 
     | 
    
         
            +
              rdoc_parsers,
         
     | 
| 
      
 120 
     | 
    
         
            +
              rdoc_ri].each{|d|
         
     | 
| 
      
 121 
     | 
    
         
            +
              FileUtils::makedirs(d, {:verbose => true})
         
     | 
| 
      
 122 
     | 
    
         
            +
            }
         
     | 
| 
      
 123 
     | 
    
         
            +
             
     | 
| 
      
 124 
     | 
    
         
            +
            FileUtils::chmod(0755, rdoc_dest)
         
     | 
| 
      
 125 
     | 
    
         
            +
             
     | 
| 
      
 126 
     | 
    
         
            +
             
     | 
| 
      
 127 
     | 
    
         
            +
             
     | 
| 
      
 128 
     | 
    
         
            +
            # The library files
         
     | 
| 
      
 129 
     | 
    
         
            +
            files = %w{
         
     | 
| 
      
 130 
     | 
    
         
            +
             code_objects.rb
         
     | 
| 
      
 131 
     | 
    
         
            +
             generator.rb
         
     | 
| 
      
 132 
     | 
    
         
            +
             generator/*.rb
         
     | 
| 
      
 133 
     | 
    
         
            +
             options.rb
         
     | 
| 
      
 134 
     | 
    
         
            +
             parsers/parserfactory.rb  
         
     | 
| 
      
 135 
     | 
    
         
            +
             parsers/parse_*.rb  
         
     | 
| 
      
 136 
     | 
    
         
            +
             template.rb
         
     | 
| 
      
 137 
     | 
    
         
            +
             tokenstream.rb
         
     | 
| 
      
 138 
     | 
    
         
            +
             diagram.rb
         
     | 
| 
      
 139 
     | 
    
         
            +
             rdoc.rb
         
     | 
| 
      
 140 
     | 
    
         
            +
             dot.rb
         
     | 
| 
      
 141 
     | 
    
         
            +
             ri/*.rb
         
     | 
| 
      
 142 
     | 
    
         
            +
             ri.rb
         
     | 
| 
      
 143 
     | 
    
         
            +
             markup.rb
         
     | 
| 
      
 144 
     | 
    
         
            +
             stats.rb
         
     | 
| 
      
 145 
     | 
    
         
            +
            }.collect {|f| Dir.glob(f)}.flatten
         
     | 
| 
      
 146 
     | 
    
         
            +
             
     | 
| 
      
 147 
     | 
    
         
            +
            ["chm", "html", "xml", "xhtml"].each{ |template|
         
     | 
| 
      
 148 
     | 
    
         
            +
              d = File.join(rdoc_generator, template)
         
     | 
| 
      
 149 
     | 
    
         
            +
              FileUtils::makedirs(d, {:verbose => true})
         
     | 
| 
      
 150 
     | 
    
         
            +
              files.concat Dir.glob("generator/#{template}/*.rb")
         
     | 
| 
      
 151 
     | 
    
         
            +
              files.concat Dir.glob("generator/#{template}/*.xsl")
         
     | 
| 
      
 152 
     | 
    
         
            +
            }
         
     | 
| 
      
 153 
     | 
    
         
            +
             
     | 
| 
      
 154 
     | 
    
         
            +
            files.each{ |aFile|
         
     | 
| 
      
 155 
     | 
    
         
            +
              dst = File.join(rdoc_dest, aFile)
         
     | 
| 
      
 156 
     | 
    
         
            +
              FileUtils::install(aFile, dst, {:mode => 0644, :verbose => true})
         
     | 
| 
      
 157 
     | 
    
         
            +
            }
         
     | 
| 
      
 158 
     | 
    
         
            +
             
     | 
| 
      
 159 
     | 
    
         
            +
            # and the executable
         
     | 
| 
      
 160 
     | 
    
         
            +
             
     | 
| 
      
 161 
     | 
    
         
            +
            installBIN("rdoc", $binname)
         
     | 
| 
      
 162 
     | 
    
         
            +
             
     | 
| 
      
 163 
     | 
    
         
            +
            # 'Markup' will eventually be a separate package, but
         
     | 
| 
      
 164 
     | 
    
         
            +
            # for now we'll install it automatically 
         
     | 
| 
      
 165 
     | 
    
         
            +
             
     | 
| 
      
 166 
     | 
    
         
            +
            Dir.chdir("markup") && system("#$ruby install.rb #{install_opt}")
         
     |