Ale moze od poczatku. Co mialby robic program?! Mialby sprawdzac czy podane wyrazenie jest tautologia, a wiec :
1) Wpisanie wyrazenia : np. ~(avb)
2) Sprawdzenie warunków :
War. 1 - Czy istnieje jeden operator logiczny i jedna litera (v-alternatywa; f-koniunkcja; >-implikacja; = - równość)
War. 2 - Czy ilość nawiasów otwieranych jest równa ilośći nawiasów zamykanych
War. 3 - Czy nie występuje pusty nawias - ()
War. 4 - SPrawdzenie niedozwolonego znaku
3) Wykonanie instrukcji parsera
Jeżeli powyższe warunki są spełnione na TAK to przechodzimy do analizy zdania i tak, program sprawdza wg podanej gramatki czy po sobie nastepujace zmienne sa zgodne z regulami
# Reguly
S->'spacja'S
S->(S
S->~(S1
S->'Z'S2
S->-S5
S1->'spacja'S1
S1->'Z'S2
S1->(S
S2->'spacja'S2
S2->'o2'S3
S2->)S4
S2->-S5
S2->$
S3->'spacja'S3
S3->'Z'S2
S3->(S
S3->S1
S4->'spacja'S4
S4->'o2'S3
S4->-S5
S4->$
S5->'Z'S2
S5->(S
S5->~S1
o2 - operator logiczny
z - liczba
# Koniec regul
Program ma przejsc hmmm mozna to nazwac kazde "miejsce na litere (S)" i sprawdzic czy podana wartosc jest dobra a dalej sprawdzac w zaleznosci od poprzedniego wyrazenia zgodnie z powyzsza tabela
4) Na sam koniec 'ciasteczka'

Ktos moglby podpowiedziec jak to ugrysc ?