More about Alma

In contrast to the most common animators, we are looking
forward to building a more generic system, in the sense
that it can animate any algorithm and that it can be easily
adapted to work with different programming languages.

To go on that direction, it is essencial to find out a set of program
patterns that we know how to deal with (display and
rewrite). This is, we need to discover the information, common
to a set of programming languages, that describes the
structure and semantics of the program, and that we know
how to store and to display (we intend to create a set of rules
to systematically visualize those patterns).

An analysis of the programming languages, belonging
to the universe we want to deal with, allow us to state that
all of them have in common entities, like: literal values
and variables (atomic or structured), assignments, loops
and conditional statements, write/read statements, functions/~
procedures.

Identified the common entities, we must find a way to
describe them at an abstract level, in order to establish a
generic set of rules to handle them in a language independent
way. The solution is a set of elementary programming
patterns.

These patterns capture the abstract syntax
of each entity (value or operation) to preserve and keep, via
attributes, the necessary information to express its static semantics.