Project concerning double pushout graph rewriting for Graph Transformations and Graph Algorithms 2021/22.
- implementation of double pushout algorithm
- implementation of structures
- implementation of parsing data from files
- preparation of input files
- implementation of graphical user interface
- preparation of transformations examples
- preparation of input files
- implementation of structures
- project management and content supervision
To run the program you should:
- install all packages listed in requirements file
- run the following command
python main.py
- provide path to input file in console when asked for it e.g. src/input_files/ex1.txt
- the interactive part of the program should be now visible in application window
One should put indexes of vertices they want to conduct a production on:
- in the order corresponding to indexes of vertices in the left hand side of the production in ascending order
- separated with commas
Example of a proper input to a production
Example of an input file
File:
- Input Graph
- Productions
- NEWLINE AT THE END
where:-
Graph:
- -->
- labels
- indexes
- edges in format:
- vi edge_label vj
- --<
-
Production:
- Graph
- Graph
- Graph
-
Project files contain four example graph grammars concerning graph transformations.