Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Tool: Eiffel Development Utilities

This project cluster has 146 classes.

ECF: eiffel.ecf

Source code: directory list

A "Swiss-army knife" of Eiffel development utilities invokeable by a command-line switch.

Sub-applications

CLASS_DESCENDANTS_APP outputs class descendants for selected class as a text file and is designed to be used as an external tool from within EiffelStudio.

Command switch: -class_descendants

EIFFEL_VIEW_APP publishes source code and descriptions of Eiffel projects to a website as static html and generate a Contents.md file in Github markdown. See eiffel.org article

Command switch: -eiffel_view

ZCODEC_GENERATOR_APP generates Eiffel classes conforming to EL_ZCODEC from VTD-XML C code

Command switch: -generate_codecs

ECF_TO_PECF_APP converts Eiffel configuration files to Pyxis format

Command switch: -ecf_to_pecf

LIBRARY_OVERRIDE_APP generates override of standard libaries to work with Eiffel-Loop

Command switch: -library_override:

REPOSITORY_NOTE_LINK_CHECKER_APP expands $source variable path in wiki-links contained in a wiki-markup text file. The app use a EIFFEL_VIEW_APP publishing configuration. Write the expanded output to file named as follows:

<file name>.expanded.<file extension>

An incidental function is to expand all tabs in the markup as 3 spaces.

Command switch: -expand_links

SOURCE_FILE_NAME_NORMALIZER_APP normalize class filenames as lowercase classnames within a source directory

Command switch: -normalize_class_file_name

IMP_CLASS_LOCATION_NORMALIZER_APP normalizes location of implementation classes in relation to respective interfaces for all projects listed in publisher configuration.

Command switch: normalize_imp_location

WINZIP_SOFTWARE_PACKAGE_BUILDER_APP builds a signed self-extracting software installer for Windows OS using signtool and WinZip tools.

Command switch: -winzip_exe_builder

Download

Download binary of el_eiffel for Ubuntu 14.04 or Linux Mint 17.x.

Directory: tool/eiffel/source/root

[ . ]

. /app-type

. /apps

. /apps/generate

. /command

. /command/repository

. /eiffel/compile

. /eiffel/config

. /eiffel/feature

. /eiffel/generate

. /eiffel/generate/codec

. /eiffel/github

. /eiffel/library/cross-platform

. /eiffel/library/dependency

. /eiffel/library/override

. /eiffel/library/override/classes

. /eiffel/library/override/classes/gtk

. /eiffel/library/override/classes/mswin

. /eiffel/library/publish/class

. /eiffel/library/publish/config

. /eiffel/library/publish/config/file

. /eiffel/library/publish/html

. /eiffel/library/publish/html/page

. /eiffel/library/publish/markdown

. /eiffel/library/publish/shared

. /eiffel/library/publish/substitution

. /eiffel/library/publish/substitution/class-link

. /eiffel/library/publish/table

. /eiffel/manager

. /eiffel/package-builder

. /eiffel/pyxis-ecf

. /eiffel/pyxis-ecf/support

. /eiffel/pyxis-ecf/tag-group

. /eiffel/source

. /imp_mswin

. /imp_unix

[ . ]

APPLICATION_ROOT

Application root class

BUILD_INFO

Build specification

Further Information

Click on class link to see notes.

app-type

REPOSITORY_PUBLISHER_APPLICATION

Application based on repository publisher

SOURCE_MANIFEST_APPLICATION

Command line interface to command conforming to SOURCE_MANIFEST_COMMAND

apps

AUTOTEST_APP

Finalized executable tests for sub-applications

Further Information

Click on class link to see notes.

COMPILE_DESKTOP_PROJECTS_APP

Command line interface to command COMPILE_DESKTOP_PROJECTS

Further Information

Click on class link to see notes.

ECF_TO_PECF_APP

Command-line interface to ECF_TO_PECF_COMMAND

EIFFEL_VIEW_APP

Eiffel-View is a sub-application to publish source code and descriptions of Eiffel projects to a website as static html and generate a Contents.md file in Github markdown.

See eiffel.org article and the REPOSITORY_PUBLISHER command.

GITHUB_MANAGER_APP

Command line interface to GITHUB_MANAGER_SHELL_COMMAND

Further Information

Click on class link to see notes.

IMP_CLASS_LOCATION_NORMALIZER_APP

Command-line interface to command IMP_CLASS_LOCATION_NORMALIZER

LIBRARY_MIGRATION_APP

Command line interface to LIBRARY_MIGRATION_COMMAND

Further Information

Click on class link to see notes.

PROJECT_MANAGER_APP

Command line interface to PROJECT_MANAGER_SHELL

Further Information

Click on class link to see notes.

PYXIS_ECF_CONVERTER_APP

Command line interface to command PYXIS_ECF_CONVERTER

Further Information

Click on class link to see notes.

PYXIS_TRANSLATION_TREE_COMPILER_APP

Sub app to compile tree of Pyxis translation files into multiple locale files named locale.x where x is a 2 letter country code. Does nothing if source files are all older than locale files. See class EL_LOCALE

Syntax:

el_toolkit -compile_translations -source <source tree dir> -output <output dir>

REPOSITORY_SOURCE_LINK_EXPANDER_APP

Command line interface to REPOSITORY_SOURCE_LINK_EXPANDER command

WINZIP_SOFTWARE_PACKAGE_BUILDER_APP

Command line interface to WINZIP_SOFTWARE_PACKAGE command

Further Information

Click on class link to see notes.

apps/generate

ID3_FRAME_CODE_CLASS_GENERATOR_APP

Command line interface to ID3_FRAME_CODE_CLASS_GENERATOR

Further Information

Click on class link to see notes.

LIBRARY_OVERRIDE_APP

Command-line interface to LIBRARY_OVERRIDE_GENERATOR command

ZCODEC_GENERATOR_APP

Command-line interface to ZCODEC_GENERATOR command

command

COMPILE_DESKTOP_PROJECTS

Consecutively open in EiffelStudio all Eiffel projects with desktop launchers found in specified location. (recursive search)

ECF_TO_PECF_COMMAND

Convert all Eiffel configuration files in directory tree to Pyxis format

EIFFEL_VIEW_COMMAND

Run source code publisher in a loop until user types "quit"

ID3_FRAME_CODE_CLASS_GENERATOR

Tool for TagLib.ecf library to generate TL_FRAME_ID_ENUM from the ID3v2 specification documents versions 2.2, 2.3 and 2.4.

LIBRARY_MIGRATION_COMMAND

Tool to migrate librares to newer compiler version by copying classes one by one to new library structure starting with classes that do not depend on other classes within the library

LIBRARY_OVERRIDE_GENERATOR

Creates class overrides of standard libraries for Eiffel-loop

PYXIS_ECF_CONVERTER

Converts Pyxis format Eiffel project configuration with .pecf extension to .ecf XML file

Further Information

Click on class link to see notes.

PYXIS_TRANSLATION_TREE_COMPILER

Compile a manifest list of Pyxis locale translation files into a directory locales binary data files. For example:

locales/en
locales/de
locales/fr

Further Information

Click on class link to see notes.

SOURCE_MANIFEST_COMMAND

Process files specified in a Pyxis format source manifest as for example: sources.pyx

XML_TO_PYXIS_CONVERTER

Xml to pyxis converter

ZCODEC_GENERATOR

Generate Eiffel classes conforming to EL_ZCODEC from VTD-XML C code

command/repository

IMP_CLASS_LOCATION_NORMALIZER

Normalizes location of implementation classes (*_imp.e) in relation to respective interfaces (*_i.e) for all projects referenced in repository publishing configuration. See class CROSS_PLATFORM_CLUSTER for details.

REPOSITORY_PUBLISHER

Publishes an Eiffel repository as a website based on a set of Evolicity templates and a configuration file listing the libraries and clusters to include.

REPOSITORY_SOURCE_LINK_EXPANDER

Use a supplied repository publishing configuration to expand ${<type-name>} variable path in wiki-links containined in a wiki-markup text file. Write the expanded output to file named as follows:

<file name>.expanded.<file extension>

An incidental function is to expand all tabs as 3 spaces.

eiffel/compile

PROJECT_LAUNCHER_I

Path to Eiffel project file derived from desktop launcher file

eiffel/config

ECF_XML_GENERATOR

ECF XML generator

PYXIS_EIFFEL_CONFIG

Parse basic project information from Eiffel Pyxis configuration file. (Extension: pecf)

SCONS_PROJECT_PY_CONFIG

Parser for file project.py used to configure Eiffel-Loop scons build system

Further Information

Click on class link to see notes.

SYSTEM_VERSION

Version information in Eiffel configuration XML node: /system/target [1]/version

eiffel/feature

CLASS_FEATURE

Class feature

CONSTANT_FEATURE

Features that do not require any expansion like for example

Pi: REAL = 3.142

Name: STRING = "[

FEATURE_GROUP

Group of class features with common export status

FEATURE_GROUP_LIST

List of class feature groups

GENERATE_MAKE_ROUTINE_FOR_EQA_TEST_SET

Generate make routine content for test set conforming to EL_EQA_TEST_SET

For example:

make
   -- initialize `test_table'
   do
      make_named (<<
         ["file_editing", agent test_file_editing]
      >>)
   end

MAKE_ROUTINE_FEATURE

Expands make routine containing expandable signature types with names identical to class attributes

UNEXPANDED

make (arg_1:@; arg_2:@; ..)
   do
      ..
   end

EXPANDED

make (a_arg_1: like arg_1; a_arg_2: like arg_2; ..)
   do
      arg_1 := a_arg_1; arg_2 := a_arg_2
   end

ROUTINE_FEATURE

Routine feature

SETTER_SHORTHAND_FEATURE

Expand setter shorthand

@set name

AS

set (a_name: like name)
   do
      name := a_name
   end

eiffel/generate

ID3_CODE_CLASS

Id3 code class

Further Information

Click on class link to see notes.

eiffel/generate/codec

CASE_OFFSETS_TABLE

Table of case-change offsets for a character code interval

CODEC_INFO

Codec information extracted from C source file

CODE_INTERVAL_LIST

List of character code intervals

LATIN_CHARACTER

Latin character

UNICODE_INTERVAL

Unicode interval

eiffel/github

GITHUB_CONFIGURATION

Github configuration

GITHUB_MANAGER_SHELL_COMMAND

Github manager shell command

Further Information

Click on class link to see notes.

eiffel/library/cross-platform

CROSS_PLATFORM_CLUSTER

Cluster of cross platform implementations and interfaces

The normalize_locations procedure does the following:

Any class file names ending with _i.e are matched with implementation classes ending with _imp.e. If only a common-platform exists then the implementation class is moved to the normalized location

imp_common/<path>/<class-name>.e

where <path> is the location relative to the cluster directory.

Where Windows and Unix implementations exist then the implementation classes are moved to normalized locations

imp_unix/<path>/<class-name>.e
imp_mswin/<path>/<class-name>.e

where <path> is the location relative to the cluster directory.

CROSS_PLATFORM_CONSTANTS

Cross platform Eiffel development constants

eiffel/library/dependency

LIBRARY_CLASS

Library class

eiffel/library/override

OVERRIDE_FEATURE_EDITOR

eiffel/library/override/classes

EV_ENVIRONMENT_I_FEATURE_EDITOR

EV_INTERNALLY_PROCESSED_TEXTABLE_IMP_FEATURE_EDITOR

SD_SHARED_EIFFEL_FEATURE_EDITOR

SD_ZONE_NAVIGATION_DIALOG_FEATURE_EDITOR

eiffel/library/override/classes/gtk

EV_WEB_BROWSER_IMP_FEATURE_EDITOR

eiffel/library/override/classes/mswin

EV_PIXMAP_IMP_DRAWABLE_EIFFEL_FEATURE_EDITOR

EV_PIXMAP_IMP_EIFFEL_FEATURE_EDITOR

EV_RADIO_BUTTON_IMP_EIFFEL_FEATURE_EDITOR

eiffel/library/publish/class

EIFFEL_CLASS

Class to render github like markdown found in the description note field of Eiffel classes.

EIFFEL_CLASS_PARSER

Multi-core distributed class parser

EIFFEL_CLASS_UPDATE_CHECKER

Check for source modifications using distributed callbacks

EIFFEL_LIBRARY_CLASS

Library class

EIFFEL_NOTES

Eiffel notes

eiffel/library/publish/config

ECF_CLUSTER_INFO

ECF project name information

ECF_INFO

ECF project information

EIFFEL_CONFIGURATION_LIST

Eiffel configuration list

SOURCE_DIRECTORY

Source directory

eiffel/library/publish/config/file

CROSS_PLATFORM_EIFFEL_CONFIGURATION_FILE

Eiffel configuration file for cross platform interface and implementation classes conforming to file wildcards:

*_i.e
*_imp.e

ECF_CONSTANTS

Constants for EIFFEL_CONFIGURATION_FILE

EIFFEL_CONFIGURATION_FILE

Eiffel project configuration file

EIFFEL_LIBRARY_CONFIGURATION_FILE

Eiffel library configuration file

eiffel/library/publish/html

HTML_TEXT_ELEMENT

Html text element

HTML_TEXT_ELEMENT_LIST

HTML text element list

NOTE_HTML_TEXT_ELEMENT_LIST

Note HTML text element list

REPOSITORY_HTML_TEMPLATES

Repository HTML templates

eiffel/library/publish/html/page

EIFFEL_CONFIGURATION_INDEX_PAGE

Index page for classes from Eiffel configuration file

REPOSITORY_HTML_PAGE

HTML page for Eiffel repository

REPOSITORY_SITEMAP_PAGE

HTML sitemap page for Eiffel repository

eiffel/library/publish/markdown

GITHUB_REPOSITORY_CONTENTS_MARKDOWN

Github repository contents markdown

MARKDOWN_RENDERER

Markdown renderer

MARKDOWN_ROUTINES

Markdown routines

MARKDOWN_TRANSLATER

Translates class note markdown to Github markdown

NOTE_MARKDOWN_RENDERER

Markdown renderer with support for relative Eiffel class links

PREFORMATTED_NOTE_MARKDOWN_RENDERER

Preformatted note markdown renderer

eiffel/library/publish/shared

PUBLISHER_CONSTANTS

Publisher constants

SHARED_CODEBASE_METRICS

Shared mutex protected instance of CODEBASE_METRICS

SHARED_INVALID_CLASSNAMES

Shared list of invalid class name references in ${<type-name>} links

eiffel/library/publish/substitution

CLASS_LINK_LIST

List of HTML links to Eiffel class documentation pages

GITHUB_TYPE_VARIABLE_SUBSTITUTION

TYPE_VARIABLE_SUBSTITUTION for outputing to Github Contents.md file

HYPERLINK_NOTE_SUBSTITUTION

Expand hyperlink in class note

HYPERLINK_SUBSTITUTION

Expand hyperlink

MARKUP_SUBSTITUTION

Markup substitution

TYPE_VARIABLE_SUBSTITUTION

SOURCE_LINK_SUBSTITUTION with new style of abbreviated source link format as shown at start of line.

eiffel/library/publish/substitution/class-link

CLASS_LINK

HTML link to Eiffel class documentation page (invalid by default)

Further Information

Click on class link to see descendants.

DEVELOPER_CLASS_LINK

Link to published documentation page of class created by developer

ISE_CLASS_LINK

Link to published documentation page of class distributed with EiffelStudio

eiffel/library/publish/table

CLASS_HTML_PATH_TABLE

Map class name to HTML source path

ISE_CLASS_TABLE

Table of ISE class links from eiffel.org and github.com/EiffelSoftware

SHARED_CLASS_PATH_TABLE

Shared instance of CLASS_HTML_PATH_TABLE

SHARED_ISE_CLASS_TABLE

Shared instance of ISE_CLASS_TABLE

eiffel/manager

PROJECT_MANAGER_IMPLEMENTATION

Common routines for PROJECT_MANAGER_SHELL and VERSION_MANAGER_SHELL_COMMAND

PROJECT_MANAGER_SHELL

Project version manager shell command

VERSION_MANAGER_SHELL_COMMAND

Project version manager shell command

eiffel/package-builder

SIGN_TOOL

Wrapper for Microsoft signtool

Further Information

Click on class link to see notes.

WINZIP_CREATE_SELF_EXTRACT_COMMAND

Wrapper for wzipse32 command

Further Information

Click on class link to see notes.

WINZIP_SOFTWARE_PACKAGE

Winzip self-extracting package builder implementing EL_COMMAND

Further Information

Click on class link to see notes.

WINZIP_TEMPLATE_TEXTS

Localized texts for wzipse32 utility

WZIPSE32_ARGUMENTS

Arguments for WinZip self-extracting exe wzipse32 command

eiffel/pyxis-ecf

PYXIS_ECF_PARSER

Pyxis ECF parser

Further Information

Click on class link to see notes.

eiffel/pyxis-ecf/support

ECF_NAME_VALUE_PAIR

EL_NAME_VALUE_PAIR [STRING] with possibility of /= indicating an excluded_value

GROUPED_LINES_CURSOR

Line iteration cursor with tab_count indentation

PYXIS_ECF_CONSTANTS

Pyxis ECF constants

PYXIS_ECF_NAMES

Pyxis ECF name constants

eiffel/pyxis-ecf/tag-group

CLUSTER_TREE_ECF_LINES

GROUPED_ECF_LINES for recursive cluster tag

CONDITION_ECF_LINE

GROUPED_ECF_LINES to expand shorthand for 'platform' or 'custom' conditions

CUSTOM_ECF_LINES

GROUPED_ECF_LINES for custom condition tag ] notes: "[ Shorthand:

condition:
   x = y

Expansion:

condition:
   custom:
      name = x; value = y

DEBUG_OPTION_ECF_LINES

OPTION_ECF_LINES for debug tag

GROUPED_ECF_LINES

ECF lines grouped under a custom tag: debugging: settings: etc

LIBRARIES_ECF_LINES

GROUPED_ECF_LINES for library tags with an option with an optional common location

Further Information

Click on class link to see notes.

NAME_LOCATION_ECF_LINE

NAME_VALUE_ECF_LINE for name location attribute pair

NAME_VALUE_ECF_LINE

GROUPED_ECF_LINES name value attribute pair line

OLD_NAME_NEW_NAME_ECF_LINE

NAME_VALUE_ECF_LINE for old_name new_name renaming attribute pair

OPTION_ECF_LINES

GROUPED_ECF_LINES for one of option tags: warning or debug

PLATFORM_CONDITION_ECF_LINES

GROUPED_ECF_LINES for adding C externals group platform condition

PLATFORM_FILE_RULE_ECF_LINES

Expand cluster exclusion file rule for platform

Further Information

Click on class link to see notes.

RENAMING_MAP_ECF_LINES

GROUPED_ECF_LINES renaming_map element followed by class name

renaming_map:
   OLD_NAME = NEW_NAME
   OLD_NAME_2 = NEW_NAME_2

SETTING_ECF_LINES

GROUPED_ECF_LINES for setting tag

SUB_CLUSTERS_ECF_LINES

GROUPED_ECF_LINES for cluster tag that maps to a named sub-directory of parent cluster

SYSTEM_ECF_LINES

Expansion of attributes for ECF system tag

WARNING_OPTION_ECF_LINES

GROUPED_ECF_LINES for setting tag

WRITEABLE_LIBRARIES_ECF_LINES

LIBRARIES_ECF_LINES for libraries that can be modified in EiffelStudio

eiffel/source

SOURCE_FILE

Source file

SOURCE_LINES

Editable source lines

SOURCE_MANIFEST

Eiffel source trees manifest

Further Information

Click on class link to see notes.

SOURCE_MODEL

Splits Eiffel source lines into feature groups and individual feature lines

SOURCE_TREE

Source tree

imp_mswin

PROJECT_LAUNCHER_IMP

Windows (do nothing) implementation of PROJECT_LAUNCHER_I

imp_unix

PROJECT_LAUNCHER_IMP

Unix implementation of PROJECT_LAUNCHER_I