|
|
1.1 ! root 1: # ! 2: /* ! 3: * UNIX shell ! 4: * ! 5: * S. R. Bourne ! 6: * Bell Telephone Laboratories ! 7: * ! 8: */ ! 9: ! 10: ! 11: #include "defs.h" ! 12: #include "sym.h" ! 13: ! 14: MSG version = "\nVERSION sys137 DATE 1978 Nov 6 14:29:22\n"; ! 15: ! 16: /* error messages */ ! 17: MSG badopt = "bad option(s)"; ! 18: MSG mailmsg = "you have mail\n"; ! 19: MSG nospace = "no space"; ! 20: MSG synmsg = "syntax error"; ! 21: ! 22: MSG badnum = "bad number"; ! 23: MSG badparam = "parameter not set"; ! 24: MSG badsub = "bad substitution"; ! 25: MSG badcreate = "cannot create"; ! 26: MSG illegal = "illegal io"; ! 27: MSG restricted = "restricted"; ! 28: MSG piperr = "cannot make pipe"; ! 29: MSG badopen = "cannot open"; ! 30: MSG coredump = " - core dumped"; ! 31: MSG arglist = "arg list too long"; ! 32: MSG txtbsy = "text busy"; ! 33: MSG toobig = "too big"; ! 34: MSG badexec = "cannot execute"; ! 35: MSG notfound = "not found"; ! 36: MSG badfile = "bad file number"; ! 37: MSG badshift = "cannot shift"; ! 38: MSG baddir = "bad directory"; ! 39: MSG badtrap = "bad trap"; ! 40: MSG wtfailed = "is read only"; ! 41: MSG notid = "is not an identifier"; ! 42: ! 43: /* built in names */ ! 44: MSG pathname = "PATH"; ! 45: MSG homename = "HOME"; ! 46: MSG mailname = "MAIL"; ! 47: MSG fngname = "FILEMATCH"; ! 48: MSG ifsname = "IFS"; ! 49: MSG ps1name = "PS1"; ! 50: MSG ps2name = "PS2"; ! 51: ! 52: /* string constants */ ! 53: MSG nullstr = ""; ! 54: MSG sptbnl = " \t\n"; ! 55: MSG defpath = ":/bin:/usr/bin"; ! 56: MSG colon = ": "; ! 57: MSG minus = "-"; ! 58: MSG endoffile = "end of file"; ! 59: MSG unexpected = " unexpected"; ! 60: MSG atline = " at line "; ! 61: MSG devnull = "/dev/null"; ! 62: MSG execpmsg = "+ "; ! 63: MSG readmsg = "> "; ! 64: MSG stdprompt = "$ "; ! 65: MSG supprompt = "# "; ! 66: MSG profile = ".profile"; ! 67: ! 68: ! 69: /* tables */ ! 70: SYSTAB reserved { ! 71: {"in", INSYM}, ! 72: {"esac", ESSYM}, ! 73: {"case", CASYM}, ! 74: {"for", FORSYM}, ! 75: {"done", ODSYM}, ! 76: {"if", IFSYM}, ! 77: {"while", WHSYM}, ! 78: {"do", DOSYM}, ! 79: {"then", THSYM}, ! 80: {"else", ELSYM}, ! 81: {"elif", EFSYM}, ! 82: {"fi", FISYM}, ! 83: {"until", UNSYM}, ! 84: { "{", BRSYM}, ! 85: { "}", KTSYM}, ! 86: {0, 0}, ! 87: }; ! 88: ! 89: STRING sysmsg[] { ! 90: 0, ! 91: "Hangup", ! 92: 0, /* Interrupt */ ! 93: "Quit", ! 94: "Illegal instruction", ! 95: "Trace/BPT trap", ! 96: "IOT trap", ! 97: "EMT trap", ! 98: "Floating exception", ! 99: "Killed", ! 100: "Bus error", ! 101: "Memory fault", ! 102: "Bad system call", ! 103: 0, /* Broken pipe */ ! 104: "Alarm call", ! 105: "Terminated", ! 106: "Signal 16", ! 107: }; ! 108: ! 109: MSG export = "export"; ! 110: MSG readonly = "readonly"; ! 111: SYSTAB commands { ! 112: {"cd", SYSCD}, ! 113: {"read", SYSREAD}, ! 114: /* ! 115: {"[", SYSTST}, ! 116: */ ! 117: {"set", SYSSET}, ! 118: {":", SYSNULL}, ! 119: {"trap", SYSTRAP}, ! 120: {"login", SYSLOGIN}, ! 121: {"wait", SYSWAIT}, ! 122: {"eval", SYSEVAL}, ! 123: {".", SYSDOT}, ! 124: {"newgrp", SYSLOGIN}, ! 125: {readonly, SYSRDONLY}, ! 126: {export, SYSXPORT}, ! 127: {"chdir", SYSCD}, ! 128: {"break", SYSBREAK}, ! 129: {"continue", SYSCONT}, ! 130: {"shift", SYSSHFT}, ! 131: {"exit", SYSEXIT}, ! 132: {"exec", SYSEXEC}, ! 133: {"times", SYSTIMES}, ! 134: {"umask", SYSUMASK}, ! 135: {0, 0}, ! 136: };
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.