llvm-capstone/clang/www/index.html
2007-10-05 21:44:03 +00:00

50 lines
2.7 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!--
Consulted:
HTML 4.01 specs: http://www.w3.org/TR/html401/
-->
<html>
<head>
<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 motiviations 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>Unified parser for C-based languages
<li>Language conformance with C99, ObjC, C++
<li>Real-world, production quality compiler
<li>GCC compatibility
<li>Library based architecture with finely crafted C++ APIs
<li>High performance
<li>Better integration with IDEs
<li>Expressive diagnostics
<li>BSD License
</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.
<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>