Banner showing base of Eiffel tower

Github

Download version 1.4.8: Windows or Linux

Tool: Eiffel Class Analysis Utilities

This project cluster has 28 classes.

ECF: eiffel.ecf

Source code: directory list

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

Sub-applications

CHECK_LOCALE_STRINGS_APP verifies localization translation identifiers against various kinds of source texts.

Command switch: -check_locale_strings

CLASS_DESCENDANTS_APP outputs a list of descendants for a class as an Eiffel note field that can be copy/pasted into Eiffel source code.

Command switch: -descendants

CODE_METRICS_APP Count occurrences of identifiers, Eiffel keywords and other metrics for source trees specified in manifest.

Command switch: -codebase_stats

ENCODING_CHECK_APP checks for UTF-8 files that could be encoded as Latin-1

Command switch: -check_encoding

REPOSITORY_NOTE_LINK_CHECKER_APP checks for invalid class references in repository note links

Command switch: -check_note_links

UNDEFINE_PATTERN_COUNTER_APP counts the number of classes in the source tree manifest that exhibit multiple inheritance of classes with an identical pattern of feature undefining.

Command switch: -undefine_counter

Download

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

Directory: tool/eiffel/source/analyse

. /apps

. /command

. /localization

. /support

apps

CHECK_LOCALE_STRINGS_APP

A command line interface to the command CHECK_LOCALE_STRINGS_COMMAND.

CLASS_DESCENDANTS_APP

Command line interface to CLASS_DESCENDANTS_COMMAND

Further Information

Click on class link to see notes.

CODE_METRICS_APP

A command line interface to the command MANIFEST_METRICS_COMMAND.

Further Information

Click on class link to see notes.

ENCODING_CHECK_APP

Command line interface to the command ENCODING_CHECK_COMMAND.

Usage:

el_eiffel -encoding_check -sources <dir-path/manifest-path>

FIND_CODE_PATTERN_APP

A command line interface to the command FIND_CODE_PATTERN_SHELL.

Further Information

Click on class link to see notes.

OPEN_GREP_RESULT_APP

A command line interface to the command OPEN_GREP_RESULT_COMMAND.

Further Information

Click on class link to see notes.

REGULAR_EXPRESSION_SEARCH_APP

Command line interface to REGULAR_EXPRESSION_SEARCH_COMMAND

REPOSITORY_NOTE_LINK_CHECKER_APP

Command line interface to REPOSITORY_NOTE_LINK_CHECKER command

UNDEFINE_PATTERN_COUNTER_APP

Command line interface to the command UNDEFINE_PATTERN_COUNTER_COMMAND

command

CHECK_LOCALE_STRINGS_COMMAND

A command for verifying localization translation identifiers against various kinds of source texts.

CLASS_DESCENDANTS_COMMAND

Command to output a "descendants" note field for copy/pasting into Eiffel source code.

ENCODING_CHECK_COMMAND

Checks for UTF-8 files that could be encoded as Latin-1

MANIFEST_METRICS_COMMAND

Analyzes each class in a specified source manifest or source directory using the class CODEBASE_METRICS and displays metrics

REGULAR_EXPRESSION_SEARCH_COMMAND

Shell to search for regular expressions in source manifest files

REPOSITORY_NOTE_LINK_CHECKER

Check for invalid class references in note links

UNDEFINE_PATTERN_COUNTER_COMMAND

Command operating on a source code tree manifest to count the number of classes containing the following code pattern:

class MY_CLASS
inherit
   A_CLASS
      rename
         x as y
      undefine
         <feature list>
      end

   B_CLASS
      undefine
         <feature list>
      end

where the feature list contains only identifiers defined in Common_undefines

localization

EL_MISSING_TRANSLATIONS

Missing translations

EL_ROUTINE_LOCALE_STRING_PARSER

Scans lines from a routine for locale string identifiers

EL_ROUTINE_RESULT_LOCALE_STRING_PARSER

Parses locale ID from result of constant prefixed with English_

English_name: ZSTRING
   once
      Result := "Dublin"
   end

EVOLICITY_TEMPLATE_PARSER

Evolicity template parser

support

CODEBASE_METRICS

Accumulate statistics for EIFFEL_SOURCE_ANALYZER across many files

EIFFEL_GREP_COMMAND

Use Unix grep command to recursively search directories of Eiffel source code

Further Information

Click on class link to see notes.

EIFFEL_SOURCE_ANALYZER

Counts the number of occurrences of identifiers and Eiffel keywords that occur within the body of a routine, i.e. between the do (or once) keyword and the corresponding end (or ensure) at the end of the routine.

But it ignores any identifiers and keywords within code blocks defined by the check or debug keyword. Naturally comments, and anything in quoted text is ignored.

In addition it also records the total source byte count (excluding any BOM).

Further Information

Click on class link to see tests.

EIFFEL_SOURCE_METRICS

Basic metrics for Eiffel class

EIFFEL_SOURCE_READER

Abstraction to read Eiffel source file and detect keywords, identifiers, quoted text, numbers and comments.

FIND_CODE_PATTERN_SHELL

Command shell to find Eiffel code patterns in sources defined by manifest

GREP_RESULT_CONSTANTS

Constants for Eiffel grep searches

IF_ELSE_ASSIGN_MATCH_LIST

Collect codes lines that could form an expression of type: x := if <expr> then a else b end