SAGEMoLiC

Sistema de Animação Gráfica de Teoremas de Equivalência entre Modelos e Linguagens Computacionais
System of Graphic Animation of Equivalence Theorems between Computational Models and Languages

Authors: A.H.R. da Silva and A.F. da Fonseca, R.B. Nogueira and M. Ayala-Rincón

SAGEMoLiC is easy to use Guided by the menues:

you can create your computational models and grammars. Once they have been created they can be transformed according to the equivalence theorems between computational models, grammars and languages. As novel property SAGEMoLiC allows for visualizations of equivalence relations between machine models and language representation of regular languages.
 

File consists of the option Exit , an interesting collection of Built-in Examples and, very important, Open and Save options which allow for locally saving all new examples the user creates using remotely SAGEMoLiC. In this way, the user can recover his/her examples in subsequent sections.

Language here you can select the type of language. Currently either regular language or context-free language. The default is regular language. Notice that according to your selection of class of languages, the corresponding built-in examples are active and the other ones inactive.

Edit consists of options for finite automata and push-down automata design according to the kind of selected language (Regular Language and Context Free Language, respectively).  Once a kind of language has been selected (and this selection is essential for building automata as well as for loading built-in examples), you can create and delete states and transitions between them.    Additionally, Edit includes a selection Arrow that allows for replacement os states as well as of transitions.
After selection of Create Transition the transitions between states are constructed selecting with the left button of the mouse the source and destiny states and an intermediate point, where it will be indicated the direction and eventually the alphabet symbol (and the stack symbol) of the transition.
After creating the states, clicking twice with the mouse you can define a sole start state and a set of final states.

 Alphabet allows for definition of the alphabet (and the stack) symbols.  Once they have been selected, you can include information about these symbols in the transitions of the created automata clicking twice on the transitions with the mouse.

Edit and Alphabet may be used alternatively for creating automata (but symbols labelling transitions can only be used after being included in the alphabet).

Operations

 

Simulation allows for insertion of words in the language of the alphabet symbols of the current automaton and then for a nice visualization of its execution in the current machine. This simulation is flexible and dynamic: you can speed up and slow down the simulation during execution; pause, continue, stop, etc. during execution.

Visualization allows for graphic illustration of the key principles that make machine models and language representations of regular language equivalent. Only the nontrivial equivalence relations are implemented:


Problems
Link to SAGEMoLiC main page
Link to SAGEMoLiC site at the Universidade de Brasília