Projekt_Logika_1/README.md

40 lines
1.2 KiB
Markdown

# Logic formula checker
Script for checking if formula is correct
### Installation
You can run this script without downloading any other libraries.
### Usage
There are several ways of usage.
+ You can use it as a library in your project:
```
from logic_formula_checker import is_formula_correct
```
+ With run.py for interactive console
+ From bash
```
$ python -m logic_formula_checker -f (a∧b)
```
### Testing
Some tests are written in tests.py file. They check if formula's single tests work properly.
## Script logic explaination
It takes two tests of formula for checking formula's correctness.
Firstly, check if all brackets are properly opened and closed.
```
( { } ) - Good
( { ) } - Wrong
( { } - Wrong
```
The next script checks if signs are put correctly. Brackets are bypassed. Steps:
1. Read sign, check its type (Types are in logic_formula_checker/types.py).
2. Check if it is in expected_sign list.
3. Update expected_sign list based on current sign.
```
a ^ ¬ b # take a, write to expected_sign conjuction symbols and negation symbols
^ ¬ b # take ^, check is it in expected_sign, update expected_sign with asci lowercase sings (formula variables) and negation signs
```