This repository includes solution for two projects - ALE 1 and ALE 2. Below is given short information regarding both of them.
The project is about an application which can parse and evaluate expressions in prefixn notation. Building and visualizing expression trees, truth tables and simplifying them following the Quine McCluskey algorithm.
The following logical operators are supported:
- Disjunction
- Conjunction
- Negation
- Nand
- Implication
- Biimplication
The project is about an application which can evaluate instructions in predefined format and regex expressions utilizing tompson processing algorithm and others. Building and visualizing multi directed finite automata graphs and verifying whether a word can be formed or whether the automata is finite with giving all possible words. Furthermore, automatas can be converted into DFAs if they are not already.
The following instructions are needed in order a valid automata to be build:
- alphabet
- states
- final
- stack - Optional - Only for push down automatas
- transitions
The following test cases are supported:
- words
- dfa
- finite
The repository contains 4 projects, each with different purpose.
The client folder is responsible for the front-end application made with Vue.js and Typescript.
The rest of the projects are done in ASP.NET Core.
The server folder contains the Presentation layer of the backend structure, where the endpoints for the expression service are specified.
The logic folder contains all of the logic needed for evaluating an expression.
The tests folder contains unit tests regarding the logic of the expression service.