git-svn-id: https://llvm.org/svn/llvm-project/cfe/trunk@42708 91177308-0d34-0410-b5e6-96231b3b80d8
This commit is contained in:
Kevin 2007-10-06 21:28:47 +00:00
Родитель 7e620729fc
Коммит 8e8f64e99d
4 изменённых файлов: 100 добавлений и 49 удалений

Просмотреть файл

@ -0,0 +1,15 @@
This is for the LLVM+Clang browser based demo.
It is supposed to work like the LLVM+GCC demo here: http://llvm.org/demo/ but for the BSD licensed Clang instead.
Perhaps it could also be used for getting crash information and details on errors.... I'm not sure if this would require some major changes or not to report this info. Maybe also adding ways that people can use it to test for errors and a way to report such errors would also be good.
Status:
Anyways, right now, these file a basically just a copy of the LLVM+GCC demo (no changes have been made). The files don't even work right in this location on the server. As such, someone will need to edit the file or rewrite it.
If nobody in the LLVM community has the skills, one suggestion would be to post a request on a friendly Perl forum and see if anybody might be interested in taking on the challenge.
Alternatively, you could try a PHP, Python, Ruby, or Lisp mailing list and see if there are any takers who would be interested (and willing to do a rewrite to their language of choice).
--
BTW, once this feature was working, my intention was to link to it from the index.html page in the section entitled:
Try Clang

Просмотреть файл

@ -1,49 +1,49 @@
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Clang c-lang parser for LLVM</title>
<link type="text/css" rel="stylesheet" href="menu.css" />
<link type="text/css" rel="stylesheet" href="content.css" />
</head>
<body>
<!--#include virtual="menu.html.incl"-->
<div id="content">
<h1>Clang: a C language front-end for LLVM</h1>
<h2>About</h2>
<p>The goal of the Clang project is to create a new <a href="http://llvm.org/svn/llvm-project/cfe/trunk/LICENSE.TXT">BSD Licensed</a> C, C++, & ObjC front-end for the <a href="http://www.llvm.org/">LLVM</a> compiler.
<br><br>
<p>In the context of this website, the term Clang actually refers to two things:
<p>1) A "code name" for the LLVM compiler front-end.
<p>2) A specific library in the LLVM front-end -- in particular the "driver" that makes all the other libraries work together.
<br><br>
<p>The developers of Clang include contributers from Apple and numerous other volunteers.
<h2>Why?</h2>
<p>The development of a new front-end was started out of a need -- a need for a compiler that allows better diagnostics, better integration with IDEs, a license that is compatible with commercial products, and a compiler that is easier to develop and maintain. All of these were motivations for starting work on a new C/C++/ObjC front-end that could meet these needs.
<p>An excellent introduction to Clang can be found in the following video lectures:
<ul>
<li><a href="clang_video-05-25-2007.html">Clang Introduction</a>
<li><a href="clang_video-07-25-2007.html">Features and Performance of Clang</a>
</ul>
<h2>Features/Goals</h2>
Some of the goals for the project include the following:
<ul>
<li>Real-world, production quality compiler.</li>
<li>A single unified parser for C/ObjC/C++</li>
<li>Language conformance with C, ObjC, C++ (including variants, like C90, C99, etc)</li>
<li>GCC compatibility (supports GCC extensions, but allow them to be disabled)</li>
<li>Library based architecture with finely crafted C++ API's</li>
<li>High performance</li>
<li>Design for integration with IDEs as well as code generation with <a href="http://llvm.org">LLVM</a>.</li>
<li><a href="features.html#expressivediags">Expressive diagnostics</a></li>
<li>BSD License</li>
</ul>
Of course this is only a rough outline of the goals and features of Clang. To get a true sense of what the new LLVM front-end is all about, as well as why you might want to considering using it, see the <a href="features.html">Features</a> section.
<h2>Try Clang</h2>
If you are a compiler developer and want to try out Clang, then build instructions are available on the <a href="get_involved.html#build">Get Involved</a> page. Note that clang is still early in development. If you are looking for source analysis or source-to-source transformation tools, clang is probably a great solution for you. If you want to use it as a drop in C compiler, it is not yet ready.
<h2>Get Involved</h2>
If you are interested in working on Clang, then check out the <a href="get_involved.html">Get Involved</a> section.
</div>
</body>
<!-- Material used from: HTML 4.01 specs: http://www.w3.org/TR/html401/ -->
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<META http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Clang c-lang parser for LLVM</title>
<link type="text/css" rel="stylesheet" href="menu.css" />
<link type="text/css" rel="stylesheet" href="content.css" />
</head>
<body>
<!--#include virtual="menu.html.incl"-->
<div id="content">
<h1>Clang: a C language front-end for LLVM</h1>
<h2>About</h2>
<p>The goal of the Clang project is to create a new <a href="http://llvm.org/svn/llvm-project/cfe/trunk/LICENSE.TXT">BSD Licensed</a> C, C++, & ObjC front-end for the <a href="http://www.llvm.org/">LLVM</a> compiler.
<br><br>
<p>In the context of this website, the term Clang actually refers to two things:
<p>1) A "code name" for the LLVM compiler front-end.
<p>2) A specific library in the LLVM front-end -- in particular the "driver" that makes all the other libraries work together.
<br><br>
<p>The developers of Clang include contributers from Apple and numerous other volunteers.
<h2>Why?</h2>
<p>The development of a new front-end was started out of a need -- a need for a compiler that allows better diagnostics, better integration with IDEs, a license that is compatible with commercial products, and a compiler that is easier to develop and maintain. All of these were motivations for starting work on a new C/C++/ObjC front-end that could meet these needs.
<p>An excellent introduction to Clang can be found in the following video lectures:
<ul>
<li><a href="clang_video-05-25-2007.html">Clang Introduction</a>
<li><a href="clang_video-07-25-2007.html">Features and Performance of Clang</a>
</ul>
<h2>Features/Goals</h2>
Some of the goals for the project include the following:
<ul>
<li>Real-world, production quality compiler.</li>
<li>A single unified parser for C/ObjC/C++</li>
<li>Language conformance with C, ObjC, C++ (including variants, like C90, C99, etc)</li>
<li>GCC compatibility (supports GCC extensions, but allow them to be disabled)</li>
<li>Library based architecture with finely crafted C++ APIs</li>
<li>High performance</li>
<li>Design for integration with IDEs as well as code generation with <a href="http://llvm.org">LLVM</a>.</li>
<li><a href="features.html#expressivediags">Expressive diagnostics</a></li>
<li>BSD License</li>
</ul>
Of course this is only a rough outline of the goals and features of Clang. To get a true sense of what the new LLVM front-end is all about, as well as why you might want to considering using it, see the <a href="features.html">Features</a> section.
<h2>Try Clang</h2>
If you are a compiler developer and want to try out Clang, then build instructions are available on the <a href="get_involved.html#build">Get Involved</a> page. Note that clang is still early in development. If you are looking for source analysis or source-to-source transformation tools, clang is probably a great solution for you. If you want to use it as a drop in C compiler, it is not yet ready.
<h2>Get Involved</h2>
If you are interested in working on Clang, then check out the <a href="get_involved.html">Get Involved</a> section.
</div>
</body>
</html>

Просмотреть файл

@ -9,6 +9,26 @@
</head>
<body>
<!--#include virtual="menu.html.incl"-->
<!--
Note to anyone editing this page:
The "By Language" section is basically setup so that you
1) Include a simple 1 or 2 word status by the language.
2) Note a key points (whatever it may be) about the status.
The "By Library" section was intended to be a little more detailed.
Basically, take the same idea of a 1 or 2 word status and fill it in.
If percentages would be better than a 1 or 2 word status,
then that's possible as well.
Lastly, is the "Status History" where you can make a few points about
the updates that you made to the status page -- to give people kind of
and idea of the progress of things.
Perhaps following the 3 month LLVM release cycle might be one possible
way to establish a regular schedule of updating the page -- supposing
that 3 months would not be too often.
-->
<div id="content">
<h1>Status of Clang</h1>
Here is a rundown of the current status of Clang as of September 2007.
@ -51,7 +71,7 @@
</td>
</tr>
</table>
<h2>By library:</h2>
<h2>By Library:</h2>
<table>
<tr>
<td>Library</td>

16
www/todo.txt Normal file
Просмотреть файл

@ -0,0 +1,16 @@
This is just a list of some concepts for the site that might be of interest to anyone making changes in the future:
*) Style
I was a little worried about the style of the site... especially the color choices. I felt that the color choices were not quite right to project the proper image for a serious compiler project.
*) Menu...
the menu is on the left now, but I also had a design where the menu was across the top.... If the page eventually gets integrated with the style/layout of the rest of the llvm.org site and ends up adding a lot of LLVM menus, then it might be necessary to go back to the top menu or figure out some other unique way of handling the side menu.
*) Features page
The features page was inspired by the features tour of the BeOS website from years back. However, it may be necessary (and better for the image of Clang) to actually tone down the statements made on the features page so that they do not sound so glossed over and promotional... instead maybe aim a little more for the compiler developer audience who is very technically minded, by making things a little more raw and technical (and being completely honest about strengths and weaknesses instead of over-hyping so many points like I, unfortunately, ended up doing).
*) Status page -- it just needs to be filled out... :) basically the idea was to updated every so often with the status of things and maybe make a little note of what changed as the bottom, along with the date. [Maybe an update every LLVM release, which is every 3 months?]
*) Getting involved
The "available tasks" section is hidden at the bottom... after the long examples section. I'm not sure how to better do things there, but just noting a possible issue.