diff options
author | Enrico Granata <egranata@apple.com> | 2015-11-02 22:26:55 +0000 |
---|---|---|
committer | Enrico Granata <egranata@apple.com> | 2015-11-02 22:26:55 +0000 |
commit | 5ed60285e0dc8731e9c3a4db7cd4eaa1cc6eb96a (patch) | |
tree | 2ed7fc9293c5d6e86ece267469531148664e092b | |
parent | d0e7b1dcb864f0aa0c056e19917ababfba5108b1 (diff) | |
download | bcm5719-llvm-5ed60285e0dc8731e9c3a4db7cd4eaa1cc6eb96a.tar.gz bcm5719-llvm-5ed60285e0dc8731e9c3a4db7cd4eaa1cc6eb96a.zip |
Add a sketched out section on adding Language and LanguageRuntime plugins for language support
llvm-svn: 251844
-rw-r--r-- | lldb/www/adding-language-support.html | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/lldb/www/adding-language-support.html b/lldb/www/adding-language-support.html index 684e45e272c..b2bd5c5d1e8 100644 --- a/lldb/www/adding-language-support.html +++ b/lldb/www/adding-language-support.html @@ -37,6 +37,8 @@ <li>Add expression evaluation support</li> </ul> </p> + <p> + Additionally, you may want to create a Language and LanguageRuntime plugin for your language, which enables support for advanced features like dynamic typing and data formatting. </div> <div class="postfooter"></div> </div> @@ -163,6 +165,27 @@ </div> <div class="postfooter"></div> </div> + + <div class="post"> + <h1 class="postheader">Language and LanguageRuntime plugins</h1> + <div class="postcontent"> + <p> + If you followed the steps outlined above, you already have taught LLDB a great deal about your language. And if your language's runtime model and fundamental data types don't differ much from the C model, you are pretty much done. + <br/> + However, it is likely that your language offers its own data types for things like strings, arrays, ..., and probably has a notion of dynamic types, where the effective type of a variable can only be known at runtime. + </p> + <p> + These tasks are covered by two plugins: + <ul> + <li>a LanguageRuntime plugin, which provides LLDB with a dynamic view of your language; this plugin answers questions that require a live process to acquire information (e.g. dynamic type resolution)</li> + <li>a Language plugin, which provides LLDB with a static view of your language; questions that are statically knoawble and do not require a process are answered by this plugin (e.g. data formatters)</li> + </ul> + </p> + </div> + <div class="postfooter"></div> + </div> + </div> + </div> </div> </div> |