My Hacktoberfest Repos
👋🏻 Hi everyone, and Happy Hacktoberfest!
This is my repos ready for the Hacktoberfest:
C++
Header-Only C++ library for Graph Representation and Algorithms with a simple interface.
CXXGraph
Introduction
CXXGraph is a comprehensive C++ library that manages graph algorithms. This header-only library serves as an alternative to the Boost Graph Library (BGL).
We are Looking for...
We are looking for:
- A Web Developer for the development of the CXXGraph website. All documentation is currently hosted on this GitHub page.
- Developers and Contributors to provide input. If you are new to the open-source world, we will guide you step by step!
If you are interested, please contact us at zigrazor@gmail.com or contribute to this project. We are waiting for you!
Roadmap
Completed | Description | Date of Completition |
---|---|---|
✔️ | Release 0.4.0 | Oct 7, 2022 |
✔️ | Release 0.5.0 | Mar 23, 2023 |
✔️ | First Stable Release 1.0.0 | Mar 28, 2023 |
✔️ | Release 1.0.1 | May 7, 2023 |
✔️ | Release 1.1.0 | May 8, 2023 |
✔️ | Stable Release 2.0.0 | Jun 1, 2023 |
✔️ | Stable Release 3.0.0 | Nov 3, 2023 |
✔️ | Release 3.1.0 | Jan 9, |
A C++ Library to which implements the structures and algorithms for finite automata, pushdown automata, and Turing machines.
ZigRazor / CXXAutomata
A C++ library for simulating automata and Turing machines
CXXAutomata
A C++ library for simulating automata and Turing machines
Required Graphviz ( sudo apt-get install graphviz )
Required GoogleTest ( sudo apt install libgtest-dev build-essential cmake cd /usr/src/googletest sudo cmake . sudo cmake --build . --target install )
Inspired by: automata-lib
Python
A Python implementation of simply configurable State Machines.
ZigRazor / PyStateMachine
Python State Machine
PyStateMachine
Introduction
PyStateMachine is a Framework that support state machines in Python
Requirements
- Python3
How to Run
How do we import the framework?
-
Insure that Python3 is installed:
-
Install the PyStateMachines framework
- pip3 install PyStateMachines
Example
After framework is installed, import and create a small example. Create xml file from sample with the State machine states.
myStateMachine.xml
<?xml version="1.0"?>
<x:States xmlns:x="pystatemachine:sm">
<State>
<Name>State1</Name>
<Event>
<Name>ToState2</Name>
<ToState>State2</ToState>
</Event>
</State>
<State>
<Name>State2</Name>
<Event>
<Name>ToState3</Name>
<ToState>State3</ToState>
</Event>
</State>
<State>
<Name>State3</Name>
<Event>
<Name>ToState1</Name>
<ToState>State1</ToState>
</Event>
</State>
<Initial_State>State1</Initial_State>
</x:States>
Create Python Script to run state machine pyStateMachine.py
# importing necessary packages
from StateMachine import StateMachine
"""Test StateMachine"""
sm = StateMachine("myStateMachine.xml")
sm.LoadStateMachine()
# print initial state
print(sm.get_current_state()) # current_state == State1
sm.InjectEvent("ToState2")
print(sm.get_current_state()) # current_state == State2
sm.InjectEvent("ToState3")
print(sm.get_current_state()) # current_state == State3
sm.InjectEvent("ToState1")
print(sm.get_current_state()) # current_state == State1
run Python script to execute state machine
python pyStateMachine.py
pyStateMachineUnitTest.py
## Test Suite
…Happy Coding! 💻
Top comments (0)