Examples and LLVM Tutorials
===========================

Examples
--------

include::example.inc[]

LLVM Tutorials
--------------

.Simple JIT Tutorials

The following JIT tutorials were contributed by Sebastien Binet.

1. link:examples/JITTutorial1.html[A First Function]
2. link:examples/JITTutorial2.html[A More Complicated Function]


[[kaleidoscope]]
.Kaleidoscope: Implementing a Language with LLVM

The LLVM http://www.llvm.org/docs/tutorial/[Kaleidoscope] tutorial
has been ported to llvm-py by Max Shawabkeh.

1. link:kaleidoscope/PythonLangImpl1.html[Tutorial Introduction and the Lexer]
2. link:kaleidoscope/PythonLangImpl2.html[Implementing a Parser and AST]
3. link:kaleidoscope/PythonLangImpl3.html[Implementing Code Generation to LLVM IR]
4. link:kaleidoscope/PythonLangImpl4.html[Adding JIT and Optimizer Support]
5. link:kaleidoscope/PythonLangImpl5.html[Extending the language: control flow]
6. link:kaleidoscope/PythonLangImpl6.html[Extending the language: user-defined operators]
7. link:kaleidoscope/PythonLangImpl7.html[Extending the language: mutable variables / SSA construction]
8. link:kaleidoscope/PythonLangImpl8.html[Conclusion and other useful LLVM tidbits]
