summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorEnrico Granata <egranata@apple.com>2015-11-02 22:26:55 +0000
committerEnrico Granata <egranata@apple.com>2015-11-02 22:26:55 +0000
commit5ed60285e0dc8731e9c3a4db7cd4eaa1cc6eb96a (patch)
tree2ed7fc9293c5d6e86ece267469531148664e092b
parentd0e7b1dcb864f0aa0c056e19917ababfba5108b1 (diff)
downloadbcm5719-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.html23
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>
OpenPOWER on IntegriCloud