From 501bfee717a12cdd409c8f0257688b69d6a5e1a3 Mon Sep 17 00:00:00 2001 From: Reid Spencer Date: Wed, 26 Apr 2006 14:52:19 +0000 Subject: Add some notes about the current state of source (front end) languages so we can point to them on llvm-dev. git-svn-id: https://llvm.org/svn/llvm-project/llvm/trunk@27976 91177308-0d34-0410-b5e6-96231b3b80d8 --- docs/FAQ.html | 43 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 43 insertions(+) diff --git a/docs/FAQ.html b/docs/FAQ.html index cc1fef7942..169e397e80 100644 --- a/docs/FAQ.html +++ b/docs/FAQ.html @@ -55,6 +55,13 @@ target". +
  • Source Languages +
      +
    1. What source languages are supported?
    2. +
    3. What support is there for higher level source + language constructs for building a compiler?
    4. +
    +
  • Using the GCC Front End
    1. @@ -383,6 +390,42 @@ which list dependencies for source files, and rebuild:

      rebuilding.

      + + + +

      What source languages are supported?

      +
      +

      LLVM currently has full support for C and C++ source languages. These are + available through a special version of GCC that LLVM calls the + C Front End

      +

      There is an incomplete version of a Java front end available in the + llvm-java CVS repository. There is no documentation on this yet so + you'll need to download the code, compile it, and try it.

      +

      In the examples/BFtoLLVM directory is a translator for the + BrainF*** language (2002 Language Specification).

      +

      In the projects/Stacker directory is a compiler and runtime + library for the Stacker language, a "toy" language loosely based on Forth.

      +

      The PyPy developers are working on integrating LLVM into the PyPy backend + so that PyPy language can translate to LLVM.

      +
      +
      +

      What support is there for a higher level source language constructs for + building a compiler?

      +
      +
      +

      Currently, there isn't much. LLVM supports an intermediate representation + which is useful for code representation but will not support the high level + (abstract syntax tree) representation needed by most compilers. There are no + facilities for lexical nor semantica analysis. There is, however, a mostly + implemented configuration-driven + compiler driver which simplifies the task + of running optimizations, linking, and executable generation.

      +

      You might be interested in following the progress of the HLVM Project which is attempting to address these + issues.

      +
      Using the GCC Front End -- cgit v1.2.3