mozilla

Revision 101614 of Pork

  • Revision slug: Pork
  • Revision title: Pork
  • Revision id: 101614
  • Created:
  • Creator: Dmandelin
  • Is current revision? No
  • Comment
Tags: 

Revision Content

Pork is a C++ parsing and rewriting tool chain. The core of Pork is a C++ parser that provides exact character positions for the start and end of every AST node, as well as the set of macro expansions that contain any location. This information allows C++ to be automatically rewritten in a precise way. The inputs driving the rewriting would normally be provided by a program-analysis system outside of Pork. (See Dehydra, Treehydra).

Pork is based on the Elkhound/Elsa/Oink tool chain, and the MCPP preprocessor.

Pork has been tested mostly on Linux, but in theory it should be possible to make it work on other systems.

Documentation

Installing Pork
Download, installation and dependency info for Pork
Pork Manual
How does this thing work?
Pork FAQ
Answers to common questions
TODOs
Pork 1.0 release tracking bug

Community

  • View Pork Forums...

{{template.DiscussionList("dev-static-analysis", "mozilla.dev.static-analysis")}}

Blogs

Related Topics

Dehydra Treehydra, Mozilla 2, SpiderMonkey

Categories

Interwiki Language Links


Revision Source

<p>
</p>
<div>
<p><b>Pork</b> is a C++ parsing and rewriting tool chain. The core of Pork is a C++ parser that provides exact character positions for the start and end of every AST node, as well as the set of macro expansions that contain any location. This information allows C++ to be automatically rewritten in a precise way. The inputs driving the rewriting would normally be provided by a program-analysis system outside of Pork. (See Dehydra, Treehydra).
</p><p>Pork is based on the Elkhound/Elsa/Oink tool chain, and the MCPP preprocessor.
</p><p>Pork has been tested mostly on Linux, but in theory it should be possible to make it work on other systems.
</p>
<table class="topicpage-table">
<tbody><tr><td>
<h4 name="Documentation"> <a href="Special:Tags?tag=Pork&amp;language=en">Documentation</a> </h4>
<dl><dt> <a href="en/Installing_Pork">Installing Pork</a>
</dt><dd> <small>Download, installation and dependency info for Pork</small>
</dd></dl>
<dl><dt> <a href="en/Pork_Manual">Pork Manual</a>
</dt><dd> <small>How does this thing work?</small>
</dd></dl>
<dl><dt> <a href="en/Pork_FAQ">Pork FAQ</a>
</dt><dd> <small>Answers to common questions</small>
</dd></dl>
<dl><dt> <a class="external" href="https://bugzilla.mozilla.org/show_bug.cgi?id=438061">TODOs</a>
</dt><dd> <small>Pork 1.0 release tracking bug</small>
</dd></dl>
</td>
<td>
<h4 name="Community"> Community </h4>
<ul><li> View Pork Forums...
</li></ul>
<p>{{template.DiscussionList("dev-static-analysis", "mozilla.dev.static-analysis")}}
</p>
<ul><li> <a class="external" href="irc://irc.mozilla.org/js">#mmgc on irc.mozilla.org</a>
</li></ul>
<h4 name="Blogs"> Blogs </h4>
<ul><li> <a class="external" href="http://blog.mozilla.com/tglek">Taras Glek</a>
</li><li> <a class="external" href="http://blog.mozilla.com/dmandelin">David Mandelin</a>
</li></ul>
<h4 name="Related_Topics"> Related Topics </h4>
<dl><dd> <a class="external" href="http://developer.mozilla.org/en/docs/Dehydra">Dehydra</a> <a class="external" href="http://developer.mozilla.org/en/docs/Treehydra">Treehydra</a>, <a class="external" href="http://wiki.mozilla.org/Mozilla_2">Mozilla 2</a>, <a href="en/SpiderMonkey">SpiderMonkey</a>
</dd></dl>
</td></tr></tbody></table>
<p><span class="comment">Categories</span>
</p><p><span class="comment">Interwiki Language Links</span>
</p><p><br>
</p>
</div>
Revert to this revision