Zadanie 2 (procesy) ------------------- Dana jest nastepujaca gramatyka: P ::= | P ; P | ( P ) gdzie jest dowolnym, pojedynczym poleceniem unixowym (z ewentualnymi argumentami, ale bez lacz, srednikow, nawiasow, odwrotnych apostrofow, zmiennych interpretatora polecen etc). Nalezy napisac program w C, ktory odczytuje z pliku (nazwanego przez parametr wywolania) slowo wedlug powyzszej gramatyki i wspolbieznie wykonuje skladajace sie na nie polecenia systemu (kazde polecenie wykonujac jako osobny proces). Po zakonczeniu wszystkich procesow wypisuje na standardowe wyjscie wyrazenie o takiej samej budowie (ze wzgledu na sredniki i nawiasy), przy czym w miejscu kazdego polecenia wpisuje kod zakonczenia odpowiedniego procesu. Przyklad -------- Niech plik o nazwie POLECENIA ma nastepujaca zawartosc: ( cat /etc/shadow ; ( cp /etc/passwd /tmp/passwd ; who ) ) Wykonanie programu z tym plikiem powinno dac nastepujacy wynik: ( 1 ; ( 0 ; 0 ) )