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: };