Натхненний і на згадку про нашого улюбленого генія,
RIP
Він винайшов і реалізував dfns - його магнум опус і предмет виклику.
Для зацікавлених: остання повна документація про dfns та відео з Джоном .
Завдання
Давши вихідний код ASCII, дайте відповідь, до якої з наступних чотирьох категорій він належить:
Діадичний доп
Монадичний доп
Dfn
Інший
Ви можете повернути будь-які чотири послідовні значення, але, будь ласка, вкажіть своє відображення, якщо воно не очевидно.
Деталі
Ви можете припустити, що вихідний код завжди починається з відкриваючої фігурної дужки {
і закінчується закриттям фігурної дужки }
.
Можуть виникати рекурсивно вкладені брекети (наприклад {{{}}}
), але категорії 1–3 ніколи не можуть мати глибину вкладки підтяжки нижче 1 (так {}{}
це "Інше"), і всі брекети повинні бути врівноваженими (так {{}
це "Інше").
Символи в наступних контекстах рядка ігноруються:
Праворуч
#
(коментар):significant#ignored
Укладено в одинарних лапках
'
...'
(тобто в рядку):significant'ignored'significant
(Це відноситься і до#
занадто:'#'significant
)Праворуч від непарної цитати
'
(спарювання цитат зліва):significant'ignored
У фігурному рівні дужки перший (тобто виключаючи вкладені дужки):
Діадичні допи містять безперебійну фразу
ww
Монадійні допи не містять
ww
, але містятьaa
Dfns НЕ містять ні
ww
ніaa
Тестові справи
Діадичні допи
{ww}
{
www
}
{
''ww'
}
{aa
ww}
{'#''#'ww?aa}
Монадійські допи
{aa}
{aaaa}
{aa{ww}'ww'}
{w#w'
aa'
}
{aaw*w}
{w'\'aa\''}
Dfns
{}
{a a}
{aA}
{
{aa}
}
{w
w''w#
w}
{{
}}
{w\'aa\'}
Інший
{}{}
{{}
{}}
{ww}}
{}
{}
{ww}{}
{#}
{'
'}
{'#\'ww?aa'}
-> інше?)
''
(апостроф у рядку, також може бути проаналізований як дві сусідні рядки для цього виклику)?
'abc''def'
розбирається це одна чи дві нитки для цього виклику.