/eg/bf2lazy.c

https://github.com/msullivan/LazyK · C · 43 lines · 36 code · 2 blank · 5 comment · 2 complexity · d1c17fa4e6d9bcc4e3d7c5dc6751bae3 MD5 · raw file

  1. /*
  2. * Brainfuck-to-Lazy K translation program.
  3. * Usage: obvious I think.
  4. * Copyright 2002 Ben Rudiak-Gould. Distributed under the GPL.
  5. */
  6. #include <stdio.h>
  7. int main(void)
  8. {
  9. puts("````s``s`ks``s``s`ks``s`k`s``s``si`kk`ki```ss`si`kkkk```sii``s`k``s`k`s``si`k``s``si`k`kk`k``````sii```sii``s``s`kski``s`k`s``si`k`kik`kk`kik``sii");
  10. for (;;) {
  11. switch (getchar()) {
  12. case '+':
  13. puts("```s``s`ks``s`k`si``s`kk``s``s`ks``s`k`s`ks``s`k`s`kk``si`kk`k`k``s``s`k``s``s`ks``s`k`s``si`kk``s`k`s``s`ks``s`k`sik``s`kkk``s``s`ks``s`kk``s`ks``s`k`sik`kk``s`k`s``si`k`ki```ss`si`kk``s``si`k`ki`k`ki``s`kk``si`k`ki");
  14. break;
  15. case '-':
  16. puts("```s``s`ks``s`k`si``s`kk``s``s`ks``s`k`s`ks``s`k`s`kk``si`kk`k`k``si`k``s``s`ks``s``s`ks```ss`si`kk``s`k`s``s`ks``s`k`si``s`kk``si`k`ki``s`kk``s`kk``s`k`s``si`k`kik``s``s`ks``s`kk``s`ks``s`k`si``s`kk``si`k`ki`k``s`kk``s`k`s``si`k`kik``s`kk``si`k`ki");
  17. break;
  18. case '<':
  19. puts("```s``s`ks``s`k`si``s`kk``s``s`ks``s`k`s`ks``s`k`s`kk``s`k`s`ks``s`k`s`k`s`ks``s`k`s`k`s`kk``s``s`ks``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kk``si`kk`k`k``si`kk`k`k``si`k`ki`k`k```ss`s``s`ks``s`kk``s`ks``s`k`sik`kk``s`kk``si`k`ki");
  20. break;
  21. case '>':
  22. puts("```s``s`ks``s`k`si``s`kk``s``s`ks``s`k`s`ks``s`k`s`k`s`ks``s`k`s`k`s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kk``s`k`s`ks``s`k`s`kk``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kk``si`kk`k`k``si`kk`k`k``s`k`s`kk``s``s`ks``s`kk``s`ks``s`k`sik`kk`k`k`k`k``si`k`ki``s`kk``si`k`ki");
  23. break;
  24. case '[':
  25. puts("```s``s`ks``s`k`si``s`kk``s`k`s`k``sii``s``s`ks``s`k`s`ks``s`k`s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kk``s`k`s`ks``s`k`s`k`s``s``si`kk`kk``s`k`s`kk``s``si`k`ki`kk``s`kk``s`k`s`kk``s``s`ks```ss`si`kk`k``sii`k`k`ki``s`kk``s``si`k`ki`k`ki");
  26. break;
  27. case ']':
  28. puts("```s`k`s``si`kik");
  29. break;
  30. case ',':
  31. puts("```s``s`ks``s`k`si``s`kk``s`k`s`kk``s``s`ks``s`k`s`ks``s`k`s`k`s`ks``s`k`s`k`s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`k`s`ks``s`k`s`k`s`kk``s`k`s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kk``s`k`s`ks``s``s`ks``s`k`s`ks``s`k`s`kk``si`kk`k`k``s``s`ks``s`k`si``s`kk``s``s``si`kk`k``s`k`s``si`k`kik`k`kk``s`kk``s``s``si`kk`k``si`k`ki`k``````sii```sii``s``s`kski``s`k`s``si`k`kik`kk`ki`k`kk`k`k`kk`k`k`k`k``si`k`ki``s`kk``si`k`ki");
  32. break;
  33. case '.':
  34. puts("```s``s`ks``s`k`si``s`kk``s`k`s`k`s``s`ks``s`kk``s`ks``s`kk``s`ks```ss`s``s`ks``s`kk``s`ks``s`k`si``s`kk``s`k```sii``s`k`s``s``si`kk`k`ki``s`k`s`k`s``s`ksk``s``s`ks``s`kk``sii`k``si`k`ki``si`kk`kk``si`kk``s`kk``si`k`ki");
  35. break;
  36. case EOF:
  37. puts("`k`k`k`k`k`k`k```sii```sii``s``s`kski");
  38. return 0;
  39. }
  40. }
  41. }