Confirmed users
396
edits
No edit summary |
m (add link for elsa and Elsa and Elkhound) |
||
| Line 1: | Line 1: | ||
Pork is a set of tools built around the elsa C/C++ parser. The primary focus of pork is to provide automated refactoring ([[Gecko:DeCOMtamination]]) and static analysis tools for Mozilla2. [http://blog.mozilla.com/tglek/2007/07/13/dehydra-prcheck-squash-in-mercurial/ Pork announcement]. | Pork is a set of tools built around the [http://www.cs.berkeley.edu/~smcpeak/elkhound/ elsa] C/C++ parser. The primary focus of pork is to provide automated refactoring ([[Gecko:DeCOMtamination]]) and static analysis tools for Mozilla2. [http://blog.mozilla.com/tglek/2007/07/13/dehydra-prcheck-squash-in-mercurial/ Pork announcement]. | ||
To install the tools on your regular machine, follow [[Static Analysis/Installing the Oink Stack]] | To install the tools on your regular machine, follow [[Static Analysis/Installing the Oink Stack]] | ||
| Line 33: | Line 33: | ||
=== Differences from Mainstream === | === Differences from Mainstream === | ||
In addition to adding more oink tools, pork has some differences | In addition to adding more oink tools, pork has some differences from [http://www.cs.berkeley.edu/~smcpeak/elkhound/ Elsa and Elkhound]. | ||
* Elkhound has been extended to provide end-of-node position information | * Elkhound has been extended to provide end-of-node position information | ||
* Elsa mods: | * Elsa mods: | ||
** Expression AST nodes were modified to include end-of-node info + associated bugfixes | ** Expression AST nodes were modified to include end-of-node info + associated bugfixes | ||
** Elsa has been extended to support MCPP's macro-undo(-K) mode. Additional APIs were added to convert post-preprocessing source coordinates into pre-preprocessing ones | ** Elsa has been extended to support MCPP's macro-undo(-K) mode. Additional APIs were added to convert post-preprocessing source coordinates into pre-preprocessing ones | ||