[llvm-commits] [hlvm] r38116 - in /hlvm/trunk/docs: OpenProjects.html ReleasePlans.html

Reid Spencer reid at x10sys.com
Sat Jul 7 17:00:01 PDT 2007


Author: reid
Date: Sat Jul  7 19:00:01 2007
New Revision: 38116

URL: http://llvm.org/viewvc/llvm-project?rev=38116&view=rev
Log:
Merge Release Plans and add OpenProjects from main web site, which will now
refer to these pages instead of having its own.

Added:
    hlvm/trunk/docs/OpenProjects.html
Modified:
    hlvm/trunk/docs/ReleasePlans.html

Added: hlvm/trunk/docs/OpenProjects.html
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/OpenProjects.html?rev=38116&view=auto

==============================================================================
--- hlvm/trunk/docs/OpenProjects.html (added)
+++ hlvm/trunk/docs/OpenProjects.html Sat Jul  7 19:00:01 2007
@@ -0,0 +1,71 @@
+<!--#include virtual="/incl/header.incl" -->
+<h1>Open LLVM Projects</h1>
+<ul>
+  <li><a href="#what">What is this?</a></li>
+  <li><a href="#what">Coding Projects</a></li>
+</ul>
+
+<!-- *********************************************************************** -->
+<div class="sectiontitle"><a name="what">What is this?</a></div>
+<!-- *********************************************************************** -->
+
+<div class="text">
+<p>This document is a "TODO" list for HLVM.  Each project in this document is 
+something that would be useful for HLVM to have, and would also be a great way 
+to get familiar with the system.  Some of these projects are small and 
+self-contained, which may be implemented in a couple of days. Others are 
+larger.  In any case, we welcome all contributions.</p>
+
+<p>If you are thinking about tackling one of these projects, please send a mail
+to the <a href="/hlvm-dev.shtml">HLVM Developer's</a> mailing list, so that we 
+know the project is being worked on.  Additionally this is a good way to get 
+more information about a specific project or to suggest other projects to add 
+to this page.</p>
+</div>
+
+<!-- *********************************************************************** -->
+<div class="sectiontitle"><a name="code">Coding Projects</a></div>
+<!-- *********************************************************************** -->
+<div class="text">
+  <ol>
+    <li><em>RNG->XHTML XSLT Stylesheet</em>. We will use the Relax/NG grammar
+    for the XML version of the AST to document the AST. However, the Relax/NG
+    specification is not particularly user friendly. What we need is a way to
+    publish (in XHTML) the specification with descriptive documentation. A
+    fairly straightforward XSLT stylsheet to translate Relax/NG to XHTML should
+    do nicely. This is a nice self-contained project for someone who knows
+    XSLT and can understand Relax/NG.</li>
+    <li><em>Test Cases</em></li>. In order to explore and test the AST node
+    construction and code generation, we need to develop test cases that
+    exercise these aspects of HLVM. Test cases currently come in two flavors:
+    <ul>
+      <li><b>xml2xml</b>. These are snippets of XML to test construction of the
+      AST by using the hlvm-xml2xml program. Many of these test cases will
+      explore ideas for what should or shouldn't be in the AST.</li>
+      <li><b>return0</b>. Thse are full HLVM programs written in the AST XML
+      language that should return from main with a value of 0 if the test
+      succeeds. They are intended to check control flow, arithmetic, and other
+      aspects of runtime behavior of the HLVM code generator and runtime system.
+      </li>
+    </ul></li>
+    <li><em>APR Abstractions</em></li>. The runtime portion of HLVM will use APR
+    as its portability layer. However, APR is written in C and not particularly
+    object-oriented. We need some of the things APR supports to be wrapped in
+    simple C++ classes that take care of the book keeping such as deleting APR
+    objects at the right time.  Abstracts we need to wrap, currently, are Pool
+    and File. These should go in HLVM's "base" library.</li>
+    <li><em>Code Generation</em></li>. If you know or would like to learn LLVM,
+    we could use help with conversion of HLVM's AST into LLVM's IR. </li>
+    <li><em>API Documentation</em></li>. Documenting the HLVM AST API is very
+    important. Currently it needs some work. Someone who knows Doxygen and 
+    would like to keep the documentation up to date would be very helpful.</li>
+    <li><em>Yaml Reader/Writer</em></li>. We intend to support a reader and
+    writer of the AST in Yaml syntax. Some people just don't like XML and having
+    an alternate way to build the AST from a nicer-to-read source would be
+    useful in helping some people comprehend HLVM. The design should be very
+    similar to the XML Reader/Writer and be based on the Syck library.</li>
+  </ol>
+</div>
+
+
+<!--#include virtual="/incl/footer.incl" -->

Modified: hlvm/trunk/docs/ReleasePlans.html
URL: http://llvm.org/viewvc/llvm-project/hlvm/trunk/docs/ReleasePlans.html?rev=38116&r1=38115&r2=38116&view=diff

==============================================================================
--- hlvm/trunk/docs/ReleasePlans.html (original)
+++ hlvm/trunk/docs/ReleasePlans.html Sat Jul  7 19:00:01 2007
@@ -72,27 +72,106 @@
 <div class="section"><a name="features">Features</a></div>
 <!-- *********************************************************************** -->
 <!-- ======================================================================= -->
-<div class="subsection"><a name="f0_1">Release 0.1 Features</a></div>
+<div class="subsection"><a name="f0_1">Pre-Release 0.1 Features</a></div>
 <div class="text">
   <h3><a name="buildenv">Build Environment</a></h3>
+  <p>A multi-platform build system so that software can be compiled properly.
+  </p>
   <h3><a name="testharn">Test Harness</a></h3>
+  <p>A deja-gnu based test framework to manage and execute the large number of 
+  test cases needed to verify that the HLVM system is working correctly.</p>
   <h3><a name="ASTNodes">AST Nodes</a></h3>
+  <p>Define and implement several (not all) AST nodes. The most fundamental 
+  nodes should be implemented: structuring, functions, blocks, arithmetic 
+  operators, constants, etc. The list will be expanded in subsequent releases.
+  </p>
   <h3><a name="XMLReader">XML Reader</a></h3>
+  <p>A library to read in an XML representation of the AST and generate the AST
+  C++ Nodes.
   <h3><a name="XMLWriter">XML Writer</a></h3>
-  <h3><a name="xml2xml">hlvm_xml2xml</a></h3>
+  <p>A library to write out an XML representation of the Abstract Syntax
+  Tree.</p>
+  <h3><a name="xml2xml">hlvm-xml2xml</a></h3>
+  <p>A program to convert XML AST documents back into XML. This tests the
+  correct construction of the AST as well as the pass management features.</p>
   <h3><a name="ASTsuite">AST Test Suite</a></h3>
+  <p>A suite of XML based test files need to be developed for use with the
+  hlvm_xml2xml program. All implemented aspects of the AST must be covered by
+  one or more test cases.
+  <h3><a name="compiler">hlvm-compiler</a></h3>
+  <p>A program to compile HLVM sources into something executable. This release
+  0.1 vesion will read in XML AST files and produce LLVM bytecode. Other options
+  will be added in the future.
+  <h3><a name="vm">hlvm machine</a></h3>
+  <p>This program provides the runtime environment for executing HLVM
+  programs. This 0.1 version will read an LLVM bytecode file and JIT execute 
+  it. More features later.</p>
+  <h3><a name="HelloWorld">Hello World</a></h3>
+  <p>Sufficient capabilities will be added to the runtime and compiler in order
+  to get the "Hello, World" program running.</h3>
 </div>
 
 <!-- ======================================================================= -->
-<div class="subsection"><a name="f0_2">Release 0.2 Features</a></div>
+<div class="subsection"><a name="f0_2">Pre-Release 0.2 Features</a></div>
 <div class="text">
-  <h3><a name="buildenv">Build Environment</a></h3>
-  <h3><a name="testharn">Test Harness</a></h3>
-  <h3><a name="ASTNodes">AST Nodes</a></h3>
-  <h3><a name="XMLReader">XML Reader</a></h3>
-  <h3><a name="XMLWriter">XML Writer</a></h3>
-  <h3><a name="xml2xml">hlvm_xml2xml</a></h3>
-  <h3><a name="ASTsuite">AST Test Suite</a></h3>
+  <h3><a name="ruby">Ruby Features</a></h3>
+  <p>Add sufficient nodes to the system to support the language features of
+  Ruby.</p>
+  <h3><a name="rubytest">Ruby Tests</a></h3>
+  <p>Add test cases that exercise the features added for Ruby. These are XML
+  based test cases, not Ruby source</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="f0_3">Pre-Release 0.3 Features</a></div>
+<div class="text">
+  <h3><a name="scheme">Scheme Features</a></h3>
+  <p>Add sufficient nodes to the system to support the language features of
+  Scheme.</p>
+  <h3><a name="schemetest">Scheme Tests</a></h3>
+  <p>Add test cases that exercise the features added for Scheme. These are XML
+  based test cases, not Ruby source</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="f0_4">Pre-Release 0.4 Features</a></div>
+<div class="text">
+  <h3><a name="python">Python Features</a></h3>
+  <p>Add sufficient nodes to the system to support the language features of
+  Python.</p>
+  <h3><a name="pythontest">Python Tests</a></h3>
+  <p>Add test cases that exercise the features added for Scheme. These are XML
+  based test cases, not Python source</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="f0_5">Pre-Release 0.5 Features</a></div>
+<div class="text">
+  <h3><a name="frontend">Front End Features</a></h3>
+  <p>Add new libraries and utilities to make it easy to build front end
+  languages. Implement Ruby, Python and Scheme using this infrastructure.</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="f0_9">Pre-Release 0.9 Features</a></div>
+<div class="text">
+  <h3><a name="refactor">Refactoring</a></h3>
+  <p>Review the entire HLVM source base and re-factor to common components
+  with the goal of software reuse and shrinkage of library sizes.</p>
+  <h3><a name="fulltest">Full Test Suite</a></h3>
+  <p>Ensure that HLVM is covered by a full test suite that tests every aspect of
+  its functionality.</p>
+  <h3><a name="quality">Quality</a></h3>
+  <p>Improve quality of HLVM at both compile and run times. This feature ensures
+  that HLVM will properly handle corner conditions, error situations,
+  exceptions, etc.</p>
+  <h3><a name="optimize">Performance Optimization</a></h3>
+  <p>Analyze the compile and run time environments to ensure they are running at
+  optimal speeds. Ensure that the generated code can be optimized to run
+  efficiently.</p>
+  <h3><a name="docs">Documentation</a></h3>
+  <p>Write sufficient documentation to cover usage of HLVM and programming with
+  HLVM</p>
 </div>
 
 <!-- *********************************************************************** -->
@@ -104,16 +183,18 @@
     <tr><th>Feature</th><th>Feature</th><th>Feature</th></tr>
     <tr>
       <td><a name="#buildenv">Build Environment</a><br/>Mostly complete.</td>
-      <td><a name="#testharn">Test Harness</a><br/>Just starting.</td>
-      <td><a name="#ASTNodes">AST Nodes</a><br/>A few nodes developed.</td>
+      <td><a name="#testharn">Test Harness</a><br/>Completed for this release.</td>
+      <td><a name="#ASTNodes">AST Nodes</a><br/>Most nodes developed.</td>
     </tr><tr>
       <td><a name="#XMLReader">XML Reader</a><br/>Infrastructure complete.</td>
       <td><a name="#XMLWriter">XML Writer</a><br/>Infrastructure complete.</td>
-      <td><a name="#xml2xml">hlvm_xml2xml</a><br/>Done.</td>
-    </tr>
-    <tr>
+      <td><a name="#xml2xml">hlvm-xml2xml</a><br/>Done.</td>
+    </tr><tr>
+      <td><a name="#xml2xml">hlvm-compiler</a><br/>Just Starting.</td>
+      <td><a name="#vm">hlvm</a><br/>Just Starting.</td>
       <td><a name="#ASTsuite">AST Test Suite</a><br/>Just starting.</td>
-      <td colspan="2"> </td>
+    </tr><tr>
+      <td><a name="#HelloWorld">Hello World</a><br/>Just starting.</td>
     </tr>
   </table>
 </div>
@@ -124,6 +205,30 @@
   <p>No status yet.</p>
 </div>
 
+<!-- ======================================================================= -->
+<div class="subsection"><a name="s0_3">Release 0.3 Status</a></div>
+<div class="text">
+  <p>No status yet.</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="s0_4">Release 0.4 Status</a></div>
+<div class="text">
+  <p>No status yet.</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="s0_5">Release 0.5 Status</a></div>
+<div class="text">
+  <p>No status yet.</p>
+</div>
+
+<!-- ======================================================================= -->
+<div class="subsection"><a name="s0_9">Release 0.9 Status</a></div>
+<div class="text">
+  <p>No status yet.</p>
+</div>
+
 <!-- *********************************************************************** -->
 <div class="section"><a name="released">Released Features</a></div>
 <!-- *********************************************************************** -->





More information about the llvm-commits mailing list