Query features to dcover if a symbol name does comply to SmartEiffel's
naming rules and to convert arbitrary C symbols into valid Eiffel names
of classes or features.
Translate a_name content into a proper feature name for the
Gnu-Eiffel language.
"CamelCase" is translated into "camel_case",
"ENOO" is translated into "enoo". Eventual underscores in front of
a_name are removed: "__foo" becomes "foo"; symbols starting with
underscores folloed by a number are prefixed with "a_"; reserved
language names and names of features of class ANY are escaped.
TODO: handle in a fairly
a_name content translated into a proper argument placeholder for
the Gnu-Eiffel language.
"CamelCase" is translated into
"a_camel_case", "ENOO" is translated into "an_enoo". Eventual
underscores in front of a_name are removed: "__foo" becomes
"a_foo". See also eiffel_feature.
A valid, adapted identifier for an Eiffel feature labelled
a_name.
Can be either a_name itself or a new string
containing an adapatation. Reserved words and those of
features belonging to ANY are "escaped", appending a_suffix.
The following "static" definition of the features of ANY
somehow unacceptable in a perfect world. Yet computing it each
and every time would enlarge the memory usage of the program
quite a lot, not counting the runtime requirements. We will do
it when we will cache compilation results.
The following "static" definition of the features of ANY
somehow unacceptable in a perfect world. Yet computing it each
and every time would enlarge the memory usage of the program
quite a lot, not counting the runtime requirements. We will do
it when we will cache compilation results.
This exception occurs when Void is passed as the expression
to inspect ("inspect on STRING only).
This exception also occurs when the inspected value selects no branch (when the keyword "else"
not used, one "when" branch _must_ be selected). Some value which is not one of the inspect
constants, if there is no Else_part