Wprowadzenie
Compute to ezoteryczny język żartów.
Compute nie ma wymaganej składni i ma moc rozwiązywania wszelkich problemów. Jest wystarczająco inteligentny, aby interpretować dowolny język ludzki (angielski, hiszpański, łacina itp.), Dowolny język programowania (C ++, Java, brainfuck itp.) Lub dowolny rodzaj danych, o których możesz pomyśleć. Jedynym minusem jest to, że absolutnie nie ma we / wy.
Niektóre przykładowe programy
Hello World
Podstawowy program Hello World
What is love?
Określa, że miłość to (kochanie, nie rań mnie).
When will we ever graduate?
Określa dokładną datę tej witryny, aby wyjść z wersji beta.
Wyzwanie
Twoim zadaniem jest napisanie pełnego tłumacza. Brzmi to dość ciężko, ale należy pamiętać, że Compute absolutnie nie ma I / O. Twój interpreter będzie spał tylko sekundę na każdą linię w programie wejściowym, a \n\nDone.
potem na wyjściu (jest to jedyny wyjątek od braku wejścia / wyjścia).
Oficjalnego tłumacza można znaleźć na dole tej strony .
Zauważ, że oficjalny tłumacz wstrzymuje jedną sekundę na każdy znak w danym kodzie źródłowym. Aby uniknąć długiego czasu oczekiwania podczas testowania tłumacza merytorycznymi pytaniami, trzymamy się linii tego wyzwania.
Zasady
- Dane wejściowe mogą zawierać wiele wierszy oddzielonych znakiem a
\n
. Zawsze będzie co najmniej jedna linia. - W przeciwieństwie do oficjalnej implementacji nie musisz pobierać pliku jako danych wejściowych. Możesz wziąć program Compute w dowolnej formie danych wejściowych.
- Jedyne dozwolone wyjście to
\n\nDone.
. Końcowy znak nowej linii jest dozwolony. - Dozwolona funkcja lub pełny program.
- Domyślne reguły wejścia / wyjścia.
- Obowiązują standardowe luki .
- To jest golf-golf, więc wygrywa najniższa liczba bajtów. Tiebreaker to wcześniejsze zgłoszenie.