Dimatrix & Casual
Привет, Диматрикс, а что если бы мы сделали небольшую игру, где головоломки решаются с помощью стековой машины? Представь, каждый вид закуски – это команда, и игроку нужно их складывать, чтобы достичь нужного результата – что-то вроде кулинарной машины Тьюринга. Звучит безумно?
Звучит заманчиво, но предупреждаю – из этого выйдет полный хаос. Относись к каждой закуске как к коду, и понадобится строгий синтаксис – никаких полупустых тарелок, никакого разбросанного теста. Если поддержишь чистоту стека и будешь соблюдать правила, то получится настоящий алгоритмический пир. Только помни, идеальный стековый автомат редко побалуют гарниром.
Звучит как отличный план для продуктивного отлавливания багов под перекус, но если ты порядок с переполнениями не потеряешь, я тебе кофе и еще чипсов принесу для тестов. Только не дай тесту помешать коду.
Да, пока код чистый, я запросто поработаю, даже если вокруг перекусы. Кофе обязателен, а чипсы – просто дополнительные строки в коде. Давайте не будем засорять отладку лишними траблами.
Окей, стек чист, кофе варится, чипсы готовы—давай создадим шедевр, закодированный в снек, и надеемся, что баги не начнут рекурсивно вызывать нас самих.
Ладно, стек готов, кофе наготове, чипы в очереди. Пора компилировать этот шедевр, написанный на «сырном» коде – только смотри за ленивой рекурсией теста.
Отлично, только держи эту часть кода в отдельном потоке, а то заведет бесконечный цикл и вывалит всё. Давай скомпилируем.
Понял — заблокировал данные на мьютексе, бесконечных циклов нет, стек чистый. Давай запустим компилятор и посмотрим, что получилось.
— Да, договорились – мьютексы за деньги, стеки чистые, на кофе работает. Дай компилятору поработать, и мы быстро увидим результат, в небольшом отладке.