[Lldb-commits] [lldb] r251844 - Add a sketched out section on adding Language and LanguageRuntime plugins for language support

Enrico Granata via lldb-commits lldb-commits at lists.llvm.org
Mon Nov 2 14:26:55 PST 2015


Author: enrico
Date: Mon Nov  2 16:26:55 2015
New Revision: 251844

URL: http://llvm.org/viewvc/llvm-project?rev=251844&view=rev
Log:
Add a sketched out section on adding Language and LanguageRuntime plugins for language support

Modified:
    lldb/trunk/www/adding-language-support.html

Modified: lldb/trunk/www/adding-language-support.html
URL: http://llvm.org/viewvc/llvm-project/lldb/trunk/www/adding-language-support.html?rev=251844&r1=251843&r2=251844&view=diff
==============================================================================
--- lldb/trunk/www/adding-language-support.html (original)
+++ lldb/trunk/www/adding-language-support.html Mon Nov  2 16:26:55 2015
@@ -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>




More information about the lldb-commits mailing list