diff options
author | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
---|---|---|
committer | Dimitry Andric <dim@FreeBSD.org> | 2015-05-27 18:44:32 +0000 |
commit | 5a5ac124e1efaf208671f01c46edb15f29ed2a0b (patch) | |
tree | a6140557876943cdd800ee997c9317283394b22c /docs/tutorial/LangImpl9.rst | |
parent | f03b5bed27d0d2eafd68562ce14f8b5e3f1f0801 (diff) |
Diffstat (limited to 'docs/tutorial/LangImpl9.rst')
-rw-r--r-- | docs/tutorial/LangImpl9.rst | 13 |
1 files changed, 4 insertions, 9 deletions
diff --git a/docs/tutorial/LangImpl9.rst b/docs/tutorial/LangImpl9.rst index 6f694931ef86..33987687dee6 100644 --- a/docs/tutorial/LangImpl9.rst +++ b/docs/tutorial/LangImpl9.rst @@ -14,9 +14,10 @@ grown our little Kaleidoscope language from being a useless toy, to being a semi-interesting (but probably still useless) toy. :) It is interesting to see how far we've come, and how little code it has -taken. We built the entire lexer, parser, AST, code generator, and an -interactive run-loop (with a JIT!) by-hand in under 700 lines of -(non-comment/non-blank) code. +taken. We built the entire lexer, parser, AST, code generator, an +interactive run-loop (with a JIT!), and emitted debug information in +standalone executables - all in under 1000 lines of (non-comment/non-blank) +code. Our little language supports a couple of interesting features: it supports user defined binary and unary operators, it uses JIT @@ -68,12 +69,6 @@ For example, try adding: collection, note that LLVM fully supports `Accurate Garbage Collection <../GarbageCollection.html>`_ including algorithms that move objects and need to scan/update the stack. -- **debugger support** - LLVM supports generation of `DWARF Debug - info <../SourceLevelDebugging.html>`_ which is understood by common - debuggers like GDB. Adding support for debug info is fairly - straightforward. The best way to understand it is to compile some - C/C++ code with "``clang -g -O0``" and taking a look at what it - produces. - **exception handling support** - LLVM supports generation of `zero cost exceptions <../ExceptionHandling.html>`_ which interoperate with code compiled in other languages. You could also generate code by |