Zainspirowany i na pamiątkę naszego ukochanego geniuszu,
ROZERWAĆ
On wymyślił i wdrożył dfns - jego opus magnum i przedmiot wyzwanie.
Dla zainteresowanych: najnowsza pełna dokumentacja dfns i filmy z Johnem .
Zadanie
Biorąc pod uwagę kod źródłowy ASCII, odpowiedz, do której z czterech następujących kategorii należy:
Dyadic dop
Monadic dop
Dfn
Inny
Możesz zwrócić dowolne cztery spójne wartości, ale podaj mapowanie, jeśli nie jest to oczywiste.
Detale
Możesz założyć, że kod źródłowy zawsze zaczyna się od otwierającego nawiasu klamrowego, {
a kończy na zamykającym nawiasie klamrowym }
.
Rekurencyjnie zagnieżdżone nawiasy klamrowe mogą wystąpić (np. {{{}}}
), Ale kategorie 1–3 nigdy nie mogą mieć głębokości zagnieżdżenia nawiasów spadających poniżej 1 (tak jak {}{}
„Inne”), a wszystkie nawiasy klamrowe muszą być zrównoważone (podobnie jak {{}
„Inne”).
Znaki w następujących kontekstach w wierszu są ignorowane:
Po prawej stronie
#
(komentarz):significant#ignored
Ujęte w pojedyncze cudzysłowy
'
…'
(tj. W ciągu):significant'ignored'significant
(Dotyczy to#
również:'#'significant
)Po prawej stronie niesparowanego cytatu
'
(parowanie cytatów od lewej):significant'ignored
W nawiasach klamrowych poziom pierwszy (tj. Z wyłączeniem zagnieżdżonych nawiasów klamrowych):
Diadadowe leki dopingowe zawierają nieprzerwaną frazę
ww
Dopady monadyczne nie zawierają
ww
, ale zawierająaa
Dfns nie zawierają
ww
aniaa
Przypadki testowe
Dydaktyki
{ww}
{
www
}
{
''ww'
}
{aa
ww}
{'#''#'ww?aa}
Monadic dops
{aa}
{aaaa}
{aa{ww}'ww'}
{w#w'
aa'
}
{aaw*w}
{w'\'aa\''}
Dfns
{}
{a a}
{aA}
{
{aa}
}
{w
w''w#
w}
{{
}}
{w\'aa\'}
Inny
{}{}
{{}
{}}
{ww}}
{}
{}
{ww}{}
{#}
{'
'}
{'#\'ww?aa'}
-> inne?)
''
(apostrof w łańcuchu, można również parsować jako dwa sąsiednie łańcuchy dla tego wyzwania)?
'abc''def'
jest analizowany jako jedno czy dwa ciągi dla tego wyzwania.