#axiom A #rules #komentarz #podstawowe przekształcenie X-> AX # instrukcja z rozgałęzieniem Y->A[A]A #parametryczne symbola są rozpoznawane po literze i liczbie argumentów czyli B, B(0) i B(0,0) to różne symbole #w regułach dla parametrycznych symboli w poprzedniku definiuje się nazwę parametru. ta instrukcja zamieni C(1) na C(1.1) a C(2) na C(2.1) C(a) -> C(a+0.1) # ta instrukcja wykona się, jeżeli a>1 i a<2 przecinek oznacza iloczyn logiczny B(a) : a>1,a<2 -> C(a)B(0) # ta instrukcja wykona się, jeżeli poprzednia się nie wykonała i gdy a<=1 B(a) : a<=1 -> B(2*a) # ta instrukcja się wykona, jeżeli poprzednie 2 się nie wykonają B(a) -> B(0) # instrukcja się wykona, jeżeli następnikiem A jest B(a) i a>0 A > B(a) : a>0 -> B(a)[A] # instrukcja się wykona, jeżeli poprzednikiem A jest B(a) i a>0 (i jeżeli poprzednia się nie wykonała) B(a) < A a>0 -> B(a)[A] # instrukcja się wykona, jeżeli poprzednikiem A jest B(a), następnikiem jest C(b) oraz a+b>0 (i jeżeli poprzednia się nie wykonała) B(a) < A > C(b) a+b>0 -> CC # wykona się jedna z trzech opcji z wagami odpowiednio 0.2, 0.6 i 0.3 - wagi nie muszą się sumować do 1. można stochastyczność łączyć z powyższymi rozszerzeniami. C(a) -> #stochastic p=0.2 AB(1) p=0.6 B(1)A p=0.3 AA #stochastic end #rules end