make.tokcase 633 B

123456789101112131415161718192021222324252627282930313233343536
  1. cat <<'--EOT--'
  2. /* Generated by make.tokcase */
  3. /* $Id$ */
  4. #include "Lpars.h"
  5. char *
  6. symbol2str(tok)
  7. int tok;
  8. {
  9. #define SIZBUF 8
  10. /* allow for a few invocations in f.i. an argument list */
  11. static char buf[SIZBUF] = { '\'', 0, '\'', 0, '\'', 0, '\'', 0};
  12. static int index = 1;
  13. switch (tok) {
  14. --EOT--
  15. sed '
  16. /{[A-Z]/!d
  17. s/.*{\(.*\),.*\(".*"\).*$/ case \1 :\
  18. return \2;/
  19. '
  20. cat <<'--EOT--'
  21. default:
  22. if (tok <= 0) return "end of file";
  23. if (tok == '\n') return "<newline>";
  24. if (tok < 040 || tok >= 0177) {
  25. return "bad token";
  26. }
  27. index = (index+4) & (SIZBUF-1);
  28. buf[index] = tok;
  29. return &buf[index-1];
  30. }
  31. }
  32. --EOT--