This cluster provides deferred classes that abstract out component behaviour:
-
CODE is the interfave of the tools/code
component. It represents a code element (either an expression or an instruction). Note that each
code is either an instruction or an expression (see below). The classes in
the tools/code component are intended to be inserted rather than inherited (they add
specific behaviour to some instructions and expressions).
-
EXPRESSION is the interface of
the tools/expression component. It represents an Eiffel expression, i.e. a syntactic
construction having a result type.
-
INSTRUCTION is the interface of
the tools/instruction component. It represents an Eiffel instruction.
-
PARSER is the interface of
the tools/parser component. It parses a file (an Eiffel file, an ACE file or a
configuration file) and extracts syntactic information.
-
RUN_FEATURE is the interface of
the tools/run_feature component. It represents a live feature, i.e. a callable feature
tailored for some particular LIVE_TYPE.
-
TYPE_MARK is the interface of
the tools/type_mark component. It represents an Eiffel type.
Moreover, the class SMART_EIFFEL drives the
compilation process. It stays in this cluster because it is so important.