|
|
1.1 ! root 1: /* Copyright (c) 1979 Regents of the University of California */ ! 2: # ! 3: /* ! 4: * pi - Pascal interpreter code translator ! 5: * ! 6: * Charles Haley, Bill Joy UCB ! 7: * Version 1.1 February 1978 ! 8: */ ! 9: ! 10: #include "whoami" ! 11: #include "0.h" ! 12: #include "yy.h" ! 13: ! 14: /* ! 15: * Options processes the option ! 16: * strings which can appear in ! 17: * comments and returns the next character. ! 18: */ ! 19: options() ! 20: { ! 21: register c, ch; ! 22: register char *optp; ! 23: int ok; ! 24: ! 25: c = readch(); ! 26: if (c != '$') ! 27: return (c); ! 28: do { ! 29: ch = c = readch(); ! 30: switch (c) { ! 31: case 'b': ! 32: optp = &opts['b'-'a']; ! 33: goto optdig; ! 34: case 'x': ! 35: optp = &opts['x'-'a']; ! 36: goto optdig; ! 37: optdig: ! 38: c = readch(); ! 39: if (!digit(c)) ! 40: return (c); ! 41: *optp = c - '0'; ! 42: c = readch(); ! 43: break; ! 44: default: ! 45: if (c < 'a' || c > 'z') ! 46: return (c); ! 47: optp = &opts[c-'a']; ! 48: c = readch(); ! 49: if (c == '+') { ! 50: *optp = 1; ! 51: c = readch(); ! 52: } else if (c == '-') { ! 53: *optp = 0; ! 54: c = readch(); ! 55: } else ! 56: return (c); ! 57: break; ! 58: } ! 59: #ifdef PI0 ! 60: send(ROSET, ch, *optp); ! 61: #endif ! 62: } while (c == ','); ! 63: if (opts['u'-'a']) ! 64: setuflg(); ! 65: return (c); ! 66: }
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.