{"comment":{"created_at":"2011-10-19T12:08:29Z","body":"Powstanie tutaj nowa klasa, więc rozwiązanie powinno znaleźć się w nowym pliku `daut-automata-base/src/main/java/pl/edu/amu/wmi/daut/base/AutomatonByRecursion.java`. \r\n\r\nCo to znaczy, że automat akceptuje napis - było (mam nadzieję) na wykładzie. Technicznie powinna to być prosta pętla przebiegająca kolejne znaki napisu i zmieniająca stan bieżący zgodnie ze specyfikacją przejść. Na początku jako stan bieżący przyjmujemy stan początkowy. Jeśli po wykonaniu tej pętli osiągniemy stan końcowy (akceptujący), oznacza to, że automat akceptuje napis.","updated_at":"2011-10-19T12:08:29Z","url":"https://api.github.com/repos/filipg/amu_automata_2011/issues/comments/2454888","id":2454888,"user":{"avatar_url":"https://secure.gravatar.com/avatar/3eae35237b5c224a29148e6debacb5f9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3eae35237b5c224a29148e6debacb5f9","url":"https://api.github.com/users/filipg","id":1055241,"login":"filipg"}},"action":"created","issue":{"number":99,"created_at":"2011-10-19T06:17:15Z","pull_request":{"diff_url":null,"patch_url":null,"html_url":null},"body":"Należy zaimplementować klasę `AutomatonByRecursion`, która będzie reprezentować \"działający\" niedeterministyczny automat skończenie stanowy (w przeciwieństwie do `AutomatonSpecification` reprezentującego \"zawartość\" automatu).\r\n\r\nKlasa powinna mieć konstruktor postaci:\r\n\r\n     /**\r\n      * Tworzy \"działający\" automat na podstawie podanej specyfikacji automatu.\r\n      */\r\n     AutomatonByRecursion(AutomatonSpecification specification);\r\n\r\n(konstruktor powinien zapamiętywać specyfikację i potem się do niej odwoływać).\r\n\r\nKlasa `AutomatonByRecursion` powinna implementować interfejs `Acceptor`, tzn. metoda sprawdzająca, czy automat akceptuje podany napis, powinna się nazywać `accepts`.\r\n\r\nImplementacja *NIE* musi uwzględniać epsilon-przejść (powinna wyrzucać wyjątek przy napotkaniu epsilon-przejścia) - będzie to przedmiotem osobnego zadania.\r\n\r\nPrzy dłuższych napisach program może się kończyć przepełnieniem stosu - jest to akceptowalne.\r\n\r\n\r\n","comments":5,"title":"Zaimplementować prosty rekurencyjny algorytm sprawdzania, czy automat niedeterministyczny akceptuje dany napis","updated_at":"2011-10-19T12:08:29Z","url":"https://api.github.com/repos/filipg/amu_automata_2011/issues/99","id":1990978,"assignee":null,"milestone":{"number":5,"created_at":"2011-10-17T18:57:32Z","due_on":"2011-11-02T07:00:00Z","title":"zajęcia VI","creator":{"avatar_url":"https://secure.gravatar.com/avatar/3eae35237b5c224a29148e6debacb5f9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3eae35237b5c224a29148e6debacb5f9","url":"https://api.github.com/users/filipg","id":1055241,"login":"filipg"},"url":"https://api.github.com/repos/filipg/amu_automata_2011/milestones/5","open_issues":14,"closed_issues":0,"description":"","state":"open"},"closed_at":null,"user":{"avatar_url":"https://secure.gravatar.com/avatar/3eae35237b5c224a29148e6debacb5f9?d=https://a248.e.akamai.net/assets.github.com%2Fimages%2Fgravatars%2Fgravatar-140.png","gravatar_id":"3eae35237b5c224a29148e6debacb5f9","url":"https://api.github.com/users/filipg","id":1055241,"login":"filipg"},"html_url":"https://github.com/filipg/amu_automata_2011/issues/99","labels":[{"name":"4 punkty","url":"https://api.github.com/repos/filipg/amu_automata_2011/labels/4+punkty","color":"DDDDDD"},{"name":"assigned","url":"https://api.github.com/repos/filipg/amu_automata_2011/labels/assigned","color":"02e10c"},{"name":"tester-assigned","url":"https://api.github.com/repos/filipg/amu_automata_2011/labels/tester-assigned","color":"02e10c"}],"state":"open"},"legacy":{"issue_id":1990978,"comment_id":2454888}}