Résumé:
Reversible computing is a computing paradigm where each operation is reversible, meaning it
is possible to recover the previous state from the current state. Unlike classical computing, where
information can be lost, reversible computing preserves all the necessary information to reverse
operations and return to a previous state.
Reversible Petri nets are an extension of Petri nets, which are graphical tools used to model
concurrent and distributed systems. In reversible Petri nets, transitions are reversible, meaning it is
possible to reverse the marking of the net to return to a previous state. This allows representing
systems where actions can be undone, resources recovered, and previous states restored.
These concepts have applications in areas such as reversible logic circuit design, simulation of
reversible physical systems, and low-power computing system design. They are particularly useful in
research and application domains where reversibility and information recovery are crucial, such as
quantum computing systems.
In this project, we have designed a module (compiler) that takes a textual description of a
Reversible Petri Net (RPN) as input and transforms it into a specific data structure to be used by other
modules. Specifically, we have (i) proposed a suitable grammar for reversible Petri nets and (ii)
developed the lexical analyzer.