CINXE.COM
Eiffel Tools
<!doctype html> <html> <head> <meta charset="utf-8"/> <meta name="viewport" content="width=device-width, initial-scale=1"/> <title>Eiffel Tools</title> <link media="all" rel="stylesheet" href="/theme/responsive-eiffel-org/css/all.css" /> <link rel="shortcut icon" href="https://www.eiffel.org/favicon.ico"/> <link href="https://fonts.googleapis.com/css?family=Inconsolata|Open+Sans:400,700|Titillium+Web" rel="stylesheet" type="text/css" /> <!--[if IE]><script src="/theme/responsive-eiffel-org/js/ie.js"></script><![endif]--> <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <link rel="stylesheet" href="/module/auth/files/css/auth.css" type="text/css"/> <link rel="stylesheet" href="/module/node/files/css/node.css" type="text/css"/> <link rel="stylesheet" href="/module/blog/files/css/blog.css" type="text/css"/> <link rel="stylesheet" href="/module/comments/files/css/comments.css" type="text/css"/> <link rel="stylesheet" href="/module/wikitext/files/css/wikitext.css" type="text/css"/> <link rel="stylesheet" href="/module/taxonomy/files/css/taxonomy.css" type="text/css"/> <style> table.recent-changes th { padding: 3px; } table.recent-changes td { padding: 3px; border: dotted 1px #ddd; } table.recent-changes td.date { padding-left: 15px; } table.recent-changes td.title { font-weight: bold; } </style> <link rel="stylesheet" href="/module/feed_aggregator/files/css/feed_aggregator.css" type="text/css"/> <link rel="profile" href="http://gmpg.org/xfn/11" /> <meta property="url" content="https://www.eiffel.org/resources/tools" /> <meta property="og:title" content="Eiffel Tools" /> <meta property="og:type" content="article" /> <meta property="article:published_time" content="2020-09-18" /> <meta property="article:modified_time" content="2020-09-18" /> <meta property="og:image" content="https://www.eiffel.org/favicon.ico" /> <link rel='canonical' href='https://www.eiffel.org/resources/tools' /> <link rel='shortlink' href='https://www.eiffel.org/resources/tools' /> <script type="text/javascript" src="/module/wdocs/files/js/wdocs.js"></script> <link rel="stylesheet" href="/module/wdocs/files/css/wdocs.css" type="text/css"/> </head> <body class="page"> <div id="page"> <!-- Header --> <header id="header" class="grid-3"> <div class="logo"><a href="https://www.eiffel.org/"><img src="/theme/responsive-eiffel-org/images/logo.png" width="226" height="60" alt="Eiffel"></a></div> <nav id="nav"> <ul> <li><a href="https://www.eiffel.org/welcome">welcome</a></li> <li><a href="https://www.eiffel.org/documentation">documentation</a></li> <li><a href="https://www.eiffel.org/resources">resources</a></li> <li><a href="https://www.eiffel.org/contribute">contribute</a></li> <li><a href="https://www.eiffel.org/blogs">blogs</a></li> <li><a href="https://www.eiffel.org/downloads">download</a></li> </ul> </nav> <nav class="add-links"> <ul> <li> <a href="/account/roc-login?destination=resources%2Ftools">Sign in</a> </li> <li class="search"> <div class="block" id="block-gcse_search_form"><div class="inside"><form class="search-form" method="GET" action="https://www.eiffel.org/gcse20"> <input type="image" alt="Search" class="btn" src="/theme/responsive-eiffel-org/images/ico-search.png"/> <input type="text" name="q" size="25" maxlength="255" value="" /> </form> </div></div> </li> </ul> </nav> </header> <!-- Main part --> <main id="main"> <a id="main-content"><!-- Internal anchor to top content --></a> <section id="content" class=" page" itemtype="http://schema.org/Article" itemscope=""> <div class="container grid has-gutter"> <div class="content"> <h1 id="page-title" class="title">Eiffel Tools</h1> <div class="cms-node node-page cms-status-published"><div class="info"> by javier (modified: 2020 Sep 18)</div><p class="content"><p>Eiffel tools are projects that can be used in your development process to help in creating, debugging, maintaining, or otherwise supporting your Eiffel applications. Along with the <a href="https://www.eiffel.org/resources/libraries">Eiffel libraries</a>, they provide all you need to achieve your goals.</p> <p>Here is the list of current Eiffel Tools that you can use. They are based on contributions from the Eiffel community. Read the section on <a href="https://www.eiffel.org/contribute#tools">how to create an Eiffel tool</a> if you are interested in creating your own for the benefit of the community.</p> <table class="eiffel_org_nodes"> <thead> <tr> <th>Tool</th> <th>Short Description</th> </tr> </thead> <tbody> <tr> <td><a href="https://www.eiffel.org/resources/tools/button-clicker">Button Clicker</a></td> <td>Automatic clicking of a specified button at intervals. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/eiffel-script">eiffel (script)</a> </td> <td>Automatically compiles and runs a given Eiffel application in a single step, similar to how interpreted and scripting languages are used.</td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/compile-all">Compile_all</a> </td> <td>Recursively compile all targets in a directory. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/eiffel-syntax-updater">Eiffel Syntax Updater</a> </td> <td>Migrate Eiffel classes to the new ECMA syntax. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/eiffelstudio">EiffelStudio IDE </a></td> <td>The complete Eiffel development platform for Linux/Unix/Windows/Mac OS X. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/espawn">Espawn</a> </td> <td>Launching multiple processes synchronously or asynchronously using the same environment configured in tools such as finish_freezing or ec. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/eweasel">Eweasel </a></td> <td>Regression testing tool. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/gestalt">Gestalt </a></td> <td>Basic-level XSLT 2.0 processor. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/geant">Gobo Eiffel Ant </a></td> <td>Build tool specifically tailored for the Eiffel programming language. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/gelex">Gobo Eiffel Lex </a></td> <td>Generating Eiffel programs that perform pattern-matching on text. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/gelint">Gobo Eiffel Lint </a></td> <td>Lint-like tool for Eiffel. </td> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/gepp">Gobo Eiffel Preprocessor</a> </td> <td>Simple filter program. </td> </tr> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/gexslt">Gobo Eiffel XSLT Processor </a></td> <td>Command-line processor for the XSLT 2.0 language. </td> </tr> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/geyacc">Gobo Eiffel Yacc </a></td> <td>General-purpose parser generator that converts a grammar description for an LALR(1) context-free grammar into an Eiffel class equipped with routines to parse that grammar. </td> </tr> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/swete">Swete </a></td> <td>Web application regression testing. </td> </tr> </tr> <tr> <td><a href="https://www.eiffel.org/resources/tools/valgrind-converter">Valgrind Converter </a></td> <td>Convert the translated C names in valgrind/callgrind files back to the original Eiffel names. </td> </tr> </tbody> <tbody> </tbody> </table></p></div><ul class="page-navigation"><li><a href="/node/473">Eiffel (script)</a></li></ul> </div> </div> </section> </main> <!-- Footer --> <footer id="footer"> <div class="container"> <nav class="footer-nav"> <ul class="grid-5 has-gutter"> <li class="one-sixth"><a href="https://www.eiffel.org/welcome">Welcome</a> <ul> <li><a href="https://www.eiffel.org/purpose">Purpose</a></li> <li><a href="https://www.eiffel.org/news">News</a></li> <li><a href="https://www.eiffel.org/updates">Updates</a></li> <li><a href="https://www.eiffel.org/forum">Forum</a></li> <li><a href="https://www.eiffel.org/community">Community</a></li> <li><a href="https://www.eiffel.org/contact">Contact</a></li> <li> <a href="/account/roc-login?destination=resources%2Ftools">Sign in</a> </li> </ul> </li> <li class="one-sixth"><a href="https://www.eiffel.org/documentation">Documentation</a> <ul> <li><a href="https://www.eiffel.org/doc/eiffel">Eiffel</a></li> <li><a href="https://www.eiffel.org/doc/eiffelstudio">EiffelStudio</a></li> <li><a href="https://www.eiffel.org/doc/solutions">Solutions</a></li> <li><a href="https://www.eiffel.org/doc/glossary">Glossary</a></li> <li><a href="https://www.eiffel.org/doc/faqs">FAQs</a></li> <li><a href="https://www.eiffel.org/contribute">Contribute</a></li> </ul> </li> <li class="one-sixth"><a href="https://www.eiffel.org/resources">Resources</a> <ul> <li><a href="https://www.eiffel.org/resources/libraries">Libraries</a></li> <li><a href="https://www.eiffel.org/resources/tools">Tools</a></li> <li><a href="https://www.eiffel.org/resources/wish_list">Wish list</a></li> <li><a href="https://www.eiffel.org/resources/videos">Videos</a></li> <li><a href="https://www.eiffel.org/resources/follow_us">Follow us</a></li> </ul> </li> <li class=""> <div class="btn-holder"> <a class="btn btn-download" href="https://www.eiffel.org/downloads">Download Now</a> <a class="btn btn-tryonline" href="https://www.eiffel.org/try_eiffel">Try Eiffel Online</a> <a class="btn btn-contribute" href="https://www.eiffel.org/contribute">Contribute</a> <a class="btn btn-account" href="/account/roc-login?destination=resources%2Ftools">Sign in</a> </div> </li> <li class="one-sixth"> <ul class="social-networks"> <li><a class="facebook" target="_blank" href="https://www.facebook.com/pages/Eiffel-Programming-Language/235981463124887">Facebook</a></li> <li><a class="youtube" target="_blank" href="http://www.youtube.com/user/EiffelLanguage">You Tube</a></li> <li><a class="twitter" target="_blank" href="https://twitter.com/Eiffel_Language">Twitter</a></li> </ul> </li> </ul> </nav> <!-- Block "built_with_eiffel" cached: 02/25/2025 6:01:13.000 PM --> <div style="float: right">Built with the Eiffel ROC CMS and the <a href="http://www.eiffelweb.org">EiffelWeb framework</a>.</div> </div> </footer> <script src="/theme/responsive-eiffel-org/js/wdownloads.js"></script> <script src="/theme/responsive-eiffel-org/js/home.js"></script> <link href="/theme/responsive-eiffel-org/js/google-code-prettify-eiffel/styles/lang-eiffel.css" type="text/css" rel="stylesheet" /> <script src="https://cdn.jsdelivr.net/gh/google/code-prettify@master/loader/run_prettify.js"></script> <script src="/theme/responsive-eiffel-org/js/google-code-prettify-eiffel/src/lang-eiffel.js"></script> <script src="https://www.google.com/recaptcha/api.js" async defer></script> </div> </body> </html>