Proszę napisać funkcję w C która odczyta ze standartowego wejscia ciąg znaków tworzący wyrażenie arytmetyczne lub instrukcję podstawienia i zbuduje odpowiadające mu drzewo rozbioru. Zakładamy że wyrażenie arytmetyczne używa tylko '+', '-' i '*' jako operatory i że każde podwyrażenie pojawiające się jako argument operatora jest ujęte w nawiasy. Ponadto '-' można tylko używać jako operator jednoargumentowy. Dopuszczamy tylko jednoliterowe nazwy zmiennych i jednocyfrowe stałe. Instrukcje podstawienia mają postać nazwy zmiennej po której występuje znak '=' po którym występuje wyrażenie arytmetyczne, np:
x=y+4Dla uproszczenia nie pozwalamy na spacje na wejściu (wyrażenia lub instrukcja kończy się znakiem nowej linii). Jako węzly drzewa prosze używać następującą strukturę w C:
struct drzewo { char nazwa; struct drzewo * lewe; struct drzewo * prawe; };Funkcja ma zaalokować węzły drzewa przy pomocy 'malloc'.