|
|
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.