EXCON - kenrube/Esopoly GitHub Wiki
EXCON - еще один минималистичный язык программирования, работающий по тому же принципу, что и предыдущие 2 языка: есть пул из 8 бит, которые формируются отдельно друг от друга и затем выводятся как ASCII-символ в консоль.
Ознакомившись с синтасисом языка, придумать алгоритм формирования не составит ни малейшего труда:
- Выставляем все биты в 0:
:
. Указатель размещается в ячейке #7, последней - Если бит равен 1, вызываем
^<
, иначе просто смещаемся влево:<
- После того, как сформировали весь пул, выводим его на печать командой
!
Исходник на EXCON:
:^<<^<<<<^! print 'E' (01000101)
:<<<^<^<<^! print 'X' (01011000)
:^<^<<<<<^! print 'C' (01000011)
:^<^<^<^<<<^! print 'O' (01001111)
:<^<^<^<<<^! print 'N' (01001110)
:<<<<<^! print ' ' (00100000)
:<<<<^<^<^! print 'p' (01110000)
:<^<<<^<^<^! print 'r' (01110010)
:^<^<^<^<<^<^! print 'o' (01101111)
:^<^<^<<<^<^! print 'g' (01100111)
:<^<<<^<^<^! print 'r' (01110010)
:^<<<<<^<^! print 'a' (01100001)
:^<<^<^<<^<^! print 'm' (01101101)
После встраивания в общий код к нему добавится head = <^
.
Объединяем все языки, которые у нас есть на данный момент:
DCBA@?\nZ;|38x0SA3tsN`Lo98*G"'&%$#Sc>`v<zLxwI5tWrDpoAm?Oj)Laf8dc\aZ~X|?U=Y;v9ONS54JnHG/jJCBGF(
>b%;_"876Z{321U5.-Qr*N('K%$H(hEf${Abaw=^zs9Zp6Wm3kj0Qglk+vo:sooooa3o1oo>>o+dosaooooo11ooDo++oo
oasAooooooooo1ooAos+aoooo+oooooo1ASooo+^os[ooooso11oAoooo<oosooooaoo1Aoooo+oooaooooo100ooo++oo
oasoooooooooo10SS32+0oooo+ooooo2o0Aooo+oosooooo3o10oAoo++ooaoooooaoo1Aoooo+oooaooooo11oooo++oo
>aaAooooooooo1oSS-s1aooo]ooooooo1oSoaa<^osoooooso11S.oo>+ooasooooaoo10oooo+oooaSoooo11oooo++So
oosAooooooo32o0SAo2+0oooo+[oooo2o0Aoaa<ooooooooo2200Aoo++ooasooooooo1ooooS+oosaSoooo10oooo++oo
oaaAoooooooo210oAos+ooooo+oooooo1oSooo+oosoooooo2100Aoo>oooosooooaoo10oo-oooooaooo]2100ooooAoo
oa<oooooooo3o1oS.os>ooooo+oooo3o1oSoao+oosooooooo11oAoo++ooasoooo[o21oooo<ooossoooo3110o--oAoo
oosAoooooooooo0oA-o10oo-ooooooooo0Ao>aooosooooosoo0SA-oooooosoo]oa3o10ooo<ooooaoo^o211oo-ooAoo
oasooo!ooo:o21oS.os+aoooo+oooooo1oSoaa+oosoooooso110ooo++ooosooooooo1AoooS+oooaooooo100ooo++oo
oaaAoooooooooo0o.oo+0oooo+ooooooo0Aoao+oosoooooso110ooo++ooosooooaoo10o.-Sooooaoooooo00o--oAoo
oaaooooooooooo0SS-so0oo-ooooooooo0Ao-oooosooooooo10oA--ooooaoooooaoo10o.>o+oooaSooooo00ooo++So
oosAooo[<ooooo0SAoo+0oooo+ooooooo0Aoaa+oosoooooso10SAoo++ooosooooaoo10o>-oooooaooo]o200ooooAoo
oa<Aooooooo3o10o.oo>aoooo+oooooo10Sooo+oosooooos3200Aoo++ooosoooo[o2o0ooo<ooooaoo^o2200o--oAoo
oosoooooooo3o10SS-o10oo-oooooo32o0Ao>oooosooooo3o100A-oooooaooo]oaoo10ooo<ooooaoo^oo11oo--oAoo
oaaAooooooooo1oo.32+aoooo+ooooo21oAoaa+oosoooooso11SAoo++ooosooooao21Aoooo+oooaooo3o100ooo++oo
oaaAooooooo3o10S.os>0oooooooooooo0So>a+oosoooooo211oAoo++ooaoooooao21Aoooo+oooaooooo11oooo++oo
oaaAoooooooo210oAo2+aoooo+[oooo210Sooo<oosooooos2o00Aoo++ooosooooaooo0oooo+oooaoooooo00ooo+Aoo
>aaAooooooooo1oSS-s10ooo]ooooo3o1oAooo<^osoooooo!100.ooooooaooooo[oo10oo-oo:ooaoo^]o100ooooAoo
oa<oooooooo32o0SSos+aoooo+oooooo10Sooa+ooooooooo2200Aoo++ooosoooooooo0o.oS+oosaSooooo00ooo+Aoo
oaaAoooooooooo0S.-s1ooo-ooooooo210So-aooosoooooo211o.--ooooaoooooao21Aoo-oooooaSoooo100o--oooo
oosooooooooo210SA-s10oo-ooooooo21oAo-aooosoooooso100.oo++ooosooooaoo10oooS+oooaooo3o100ooo++oo
oaaAooooooo32o0oAo2+0oooo+ooooo2o0Aoaa+oosooooos2200ooo++ooosooooao2o0oooS+oooaoooo2200.oooAoo
>osooooooooooo0SSoo+0oooo+oooooo10Aooo+oosooooooo100Aoo+oooaooooo[oo^0ooo<ooooaoooooo00o--oAoo
oosooooooooooo0SS-oo0oo-ooooooooo0Ao>oooosoooooooo00A-oooooaooo]oaooo0ooo<ooooaSooooo00o-ooooo
oosooooooooooo0S.oo+0oooo+ooooooo0Aooo+oosoooooooo00Aoo++<oaoooooaooo0o>oo+oooaoooooo00ooo++oo
oaaooooooooooo0SSos+0oooo+ooooooo0Aooo+oosoooooooo00Aoo+oooasoooooooo0o.oS<ooooSooo210oooooAoo
>osAoooo<oooo10oAo21aoo^ooooo!oo1oAoaaoo:sooooos211SAoo>ooooso^ooao21Aooo<ooooaoo^oo11oooooAoo
>osooo>o<ooo21oSSo21aoo^ooooooo21oSoaa<^osooooos3100ooo>o<oosooooaoo10o>oS<oooaooooo100ooooAoo
>aaooo>o<oooo10SSos1aoo^ooooo!oo1oSoaaoo:oooooooo110Aoo>o<oaso^oooooo0oo>S<ooooSo^oo100ooooAoo
oosAoo>o<ooooo0oA321aoo^ooooooo210Aoaao<oooooooo2200Aoo>o<oasoooooooo0o>>S<ooooSo^oo!00ooooAoo
oosA:o>o<ooooo0oAoso0oooooooooooo0So>><<osoooooooo00Aoo>o<oosooooaooo0oo><ooooaSo^oo!0oooooooo
ooso:o>o<oooo10SAos>0<ooooooooo2o0Aoaa<<^ooooooooo00Aoo>oooosoooooooo0o>oS<ooooSo^oo110ooooAoo
>osAoo>o<ooo21ooAos10oo^ooooo!o2o0Sooooo:soooooo2o00Aoo>o<ooso^ooaooo0o>><<oooaooooo10oooooAoo
oasooo>o<ooo210SS3o1aoo^oooooooo1oSoaa<^osoooooso11SAoo>o<ooso^ooaoo1ooo>oooooaooooo11oooooooo
oooooo!ooo:oo1ooooo1ooo^oooooooo1oooo><o^oooooooo110ooo>o<oooooooo32^0oo><ooooooo^o210oooooooo
>o<ooo>o<ooo210ooooo0oo^ooooooooo0ooo><^oooooooo210oooooooooooooo!oo1oooooo:ooooo^o211oooooooo
>o<oo^>o<ooo21ooooo1ooo^ooooooo2oooo>><<oooooooo22ooooo>o<oooo^oooo2oooooo<oooooo^o22ooooooooo
>ooooo!ooo:o2ooooo21oooooooooooo1oooo><^ooooooooo1ooooo>o<ooooooooo21oo>><<oooooo^oo1ooooooooo
>o<o^o>o<ooo21ooooo1ooo^ooooo!oo1ooooooo:ooooooo211ooooooooooo^oooo21oo>><<ooooooooo1ooooooooo
>o<ooo>o<ooo21ooooo1o<ooooooooo2oooo>oo^oooooooo22ooooo>o<oooo^oo!o2ooooooo:ooooo^o22ooooooooo
>o<ooo>o<ooo2ooooo21ooo^ooooooo21oooo><^ooooooooo1ooooo>o<ooooooooo21ooo><ooooooo^oo1ooooooooo
>o<o^o!ooooo21ooooo1ooooooooooo21oooooooooooooooo11oooooooooooooooo21ooooooooooooooo11oooooooo
oooooooooooo21ooooo1ooooooooooo2oooooooooooooooo22ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo21ooooooooooo21oooooooooooooooo11oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221ooooooooooooooooo1oooooooooooooo211oooooooo
ooooooooooooo1ooooo1oooooooooooo1ooooooooooooooo211oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo2oooooooooooooooo22ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo21ooooooooooo21oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1oooooooooooo1ooooooooooooooo211oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221ooooooooooooooooo1oooooooooooooo211oooooooo
ooooooooooooo1oooo21oooooooooooo1oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221ooooooooooooooooo1ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo11oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo2ooooooooooooooo22ooooooooo
oooooooooooo2ooooo2oooooooooooo2oooooooooooooooo221oooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1oooooooooooo1oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooooo1ooooooooooo21oooooooooooooooo1ooooooooooooooooo21ooooooooooooooo1ooooooooo
oooooooooooo21ooo3oooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooooo
Проверить можно на авторском интерпретаторе, написанном на Ruby.
Отлично, остался последний.