Commit | Line | Data |
---|---|---|
f2f4c79b | 1 | |
1919c05a | 2 | static char sccsid[] = " bcd.c 4.2 88/06/11 "; |
f2f4c79b KM |
3 | |
4 | int chtab[] = { | |
5 | 00000, /* */ | |
6 | 03004, /* ! */ | |
7 | 02404, /* " */ | |
8 | 02040, /* sharp */ | |
9 | 02042, /* $ */ | |
10 | 02104, /* % */ | |
11 | 00001, /* & */ | |
12 | 03002, /* ' */ | |
13 | 02201, /* ( */ | |
14 | 02202, /* ) */ | |
15 | 02102, /* * */ | |
16 | 00005, /* + */ | |
17 | 02044, /* , */ | |
18 | 00002, /* - */ | |
19 | 02041, /* . */ | |
20 | 00014, /* / */ | |
21 | 00004, /* 0 */ | |
22 | 00010, /* 1 */ | |
23 | 00020, /* 2 */ | |
24 | 00040, /* 3 */ | |
25 | 00100, /* 4 */ | |
26 | 00200, /* 5 */ | |
27 | 00400, /* 6 */ | |
28 | 01000, /* 7 */ | |
29 | 02000, /* 8 */ | |
30 | 04000, /* 9 */ | |
31 | 02200, /* : */ | |
32 | 02402, /* ; */ | |
33 | 02401, /* < */ | |
34 | 02204, /* = */ | |
35 | 02400, /* > */ | |
36 | 03000, /* ? */ | |
37 | 02100, /* at */ | |
38 | 011, | |
39 | 021, | |
40 | 041, | |
41 | 0101, | |
42 | 0201, | |
43 | 0401, | |
44 | 01001, | |
45 | 02001, | |
46 | 04001, | |
47 | 012, | |
48 | 022, | |
49 | 042, | |
50 | 0102, | |
51 | 0202, | |
52 | 0402, | |
53 | 01002, | |
54 | 02002, | |
55 | 02002, | |
56 | 024, | |
57 | 044, | |
58 | 0104, | |
59 | 0204, | |
60 | 0404, | |
61 | 01004, | |
62 | 02004, | |
63 | 04004, | |
64 | 02020, /* [ */ | |
65 | 03001, /* \ */ | |
66 | 02101, /* ] */ | |
67 | 00006, /* ^ */ | |
68 | 02024 /* _ */ | |
69 | }; | |
70 | char s[128]; | |
71 | char *sp = {&s[0]}; | |
72 | main(argc, argv) | |
73 | char *argv[]; | |
74 | { | |
75 | char *spp; | |
76 | int i; | |
77 | int j; | |
78 | int c; | |
79 | int l; | |
80 | ||
81 | if (argc<2) { | |
82 | puts("% "); | |
83 | while ((c=getchar())!='\0'&c!='\n') | |
84 | *sp++ = c; | |
85 | *sp = 0; | |
86 | sp = &s[0]; | |
87 | } else | |
88 | sp = *++argv; | |
89 | puts("\n\n\n\n"); | |
90 | puts(" ________________________________"); | |
91 | puts("________________\n"); | |
92 | spp = sp; | |
93 | while(*spp++); | |
94 | spp--; | |
95 | l = spp - sp; | |
96 | putchar('/'); | |
97 | puts(sp); | |
98 | i = 49 - l; | |
99 | while(--i>0) putchar(' '); | |
100 | puts("|\n"); | |
101 | j = 0; | |
102 | spp = sp; | |
103 | while (j++<12) { | |
104 | putchar('|'); | |
105 | i = 0; | |
106 | spp = sp; | |
107 | while (i<48) { | |
108 | if(i>l) c = 0; | |
109 | else c = *spp++ - 040; | |
110 | i++; | |
111 | if (c>='a'-040) c = c - 040; | |
112 | if (c<0 | c>137) c = 0; | |
113 | if ((chtab[c]>>(j-1))&1) | |
1919c05a | 114 | puts("[\010\01\01\01\01\01]"); |
f2f4c79b KM |
115 | else |
116 | putchar(j>3?'0'+j-3:' '); | |
117 | } | |
118 | puts("|\n"); | |
119 | } | |
120 | putchar('|'); | |
121 | puts("____________"); | |
122 | puts("____________________________________"); | |
123 | puts("|\n"); | |
124 | puts("\n\n\n\n"); | |
125 | } | |
126 | ||
127 | puts(ss) char *ss; { | |
128 | int i; | |
129 | char t; | |
130 | i = 0; | |
131 | while(t = *ss++) { | |
132 | if(t >= 'a' && t <= 'z') | |
133 | t += 'A'-'a'; | |
134 | putchar(t); | |
135 | } | |
136 | } |