The alt code was provided by the author as a kind of spoiler but I fixed it to also work with clang like I did with the original entry. Silenced some warnings (all on macOS are now silenced, at least with default cc which is clang). Format/typo check README.md file. This should complete 1993/vanb.
36 lines
1.4 KiB
C
36 lines
1.4 KiB
C
O5(O2,O7,O3)char**O7;
|
|
{
|
|
return
|
|
/* N1 */ !(O2+=~01+01) ?\
|
|
00:
|
|
/* N2 */ !(O2-=02>01) ?\
|
|
printf("\045\157\012",O5(012,O7+01,00)):
|
|
/* O */ !(O2-=02>>01) ?\
|
|
(**O7<=067 && **O7>057 ? O5(03,O7,*(*O7)++-060+010*O3):O3):
|
|
/* D */ !(O2-=-O3-~O3) ?\
|
|
(072>**O7 && 060<=**O7 ? O5(04,O7,012*O3-060+*(*O7)++):O3):
|
|
/* X */ !(O2-=!O3+!!O3) ?\
|
|
(**O7>057 && **O7<=071 ? O5(05,O7,*(*O7)+++O3*020-060):
|
|
**O7<=0106 && 0101<=**O7 ? O5(05,O7,020*O3+*(*O7)++-067):
|
|
0140<**O7 && **O7<0147 ? O5(05,O7,-0127+*(*O7)+++020*O3):O3):
|
|
/* F */ !(O2-=02-01) ?\
|
|
(**O7==050 ? 050**++*O7,O5(013,O7,O5(012,O7,00)):
|
|
**O7<056 && 054<**O7 ? 055**++*O7,-O5(06,O7,00):
|
|
054>**O7 && 052<**O7 ? 050**(*O7)++,O5(06,O7,00):
|
|
!(**O7^0170)||!(0130^**O7) ? *++*O7,O5(05,O7,00):
|
|
**O7==0144||**O7==0104 ? ++*O7,O5(04,O7,00):O5(03,O7,00)):
|
|
/* T' */ !--O2 ?\
|
|
(**O7==052 ? O5(07,O7,O3*(*++*O7,O5(06,O7,00))):
|
|
!(045-**O7) ? O5(07,O7,O3%(03+(*O7)++,O5(06,O7,00))):
|
|
!(**O7^057) ? O5(07,O7,O3/(03-*++*O7,O5(06,O7,00))):O3):
|
|
/* T */ !(O2+=01-02) ?\
|
|
O5(07,O7,O5(06,O7,00)):
|
|
/* E' */ !(O2+=-02/02) ?\
|
|
(!(**O7-053)?O5(011,O7,O3+(++*O7,O5(010,O7,00))):
|
|
!(055^**O7) ? O5(011,O7,O3-(03+*(*O7)++,O5(010,O7,00))):O3):
|
|
/* E */ !(O2-=0563&0215) ?\
|
|
O5(011,O7,O5(010,O7,00)):
|
|
/* C */ (++*O7,O3);
|
|
}
|
|
main(O2,O7,O3)char**O7,**O3;{return O5(O2,O7,0);}
|