Przygotuj przy użyciu wybranego narzędzia lingwistycznego następujące programy:
1. Kalkulator liczb wymiernych z pamięcią, wykonujący działania w arytmetyce liczb wymiernych.
2. Program sprawdzający dla dowolnego wyrażenia regularnego r czy język L( r) zawiera niepuste słowo.
3. Kalkulator wielomianów jednej zmiennej o współczynnikach rzeczywistych lub wymiernych z dodawaniem, mnożeniem, dzieleniem z resztą i nwd.
4. Program wykonujący różniczkowanie symboliczne dowolnej funkcji elementarnej jednej zmiennej rzeczywistej.
5. Program upraszczający wyrażenie algebraiczne będące sumą iloczynów zgodnie z prawami 0+x=x=1*x; np. 3*a*1*y+5*0*a*7*y=3*a*y.
6. Kalkulator list traktowanych jako niepuste ciągi liczb oddzielonych
przecinkiem z działaniami h i t pozwalającymi wybrać pierwszy element listy i usunąć z listy jej pierwszy element oraz p pozwalającym na dołączenie nowego elementu do listy; np. h(1,2)=1, t(1,3,5)=3,5, użycie t(1) powinno generować komunikat o błędzie; p(1;1,3)=1,1,3. (Uwaga: wtedy łatwo wprowadzić inne operacje na liście np. sortowanie, odwracanie itp.)
7. Program sprawdzający dla dowolnego wyrażenia regularnego r czy język L( r) jest nieskończony.
8. Program wyszukujący w tekście wyrażeń algebraicznych postaci 3*2*a+2*4 i zastępujących je uproszczonymi, powstającymi przez wykonanie obliczeń (w przykładzie efektem uproszczenia jest wyrażenie 6*a+8).
9. Program będący kompilatorem prostego języka programowania, który posiada dwa typy: całkowity i logiczny i wykorzystuje instrukcje podstawiania i warunkowe.
10. Program konstruujący dla dowolnego wyrażenia regularnego r, wyrażenie regularne s dla języka L(r)R (czyli odbicia zwierciadlanego języka L(r)).
11. Program sprawdzający dla dowolnego wyrażenia regularnego r, czy język L(r) jest pusty.
12. Program tłumaczący dowolny term teorii grup w zapisie multiplikatywnym (.,-1,e) na równoważny mu term w zapisie z dzieleniem (/,e).
13.Program rozstrzygający, czy koniunkcja klauzul hornowskich jest tautologią rachunku zdań.