-
Notifications
You must be signed in to change notification settings - Fork 0
/
morsecode
152 lines (137 loc) · 3.66 KB
/
morsecode
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
Subject: v17i081: ASCII->Morse Code filter
Newsgroups: comp.sources.unix
Approved: rsalz@uunet.UU.NET
Submitted-by: mtymp01@ux.acss.umn.edu
Posting-number: Volume 17, Issue 81
Archive-name: morsecode
[ Kind of fun, useful for Boy Scouts and similar groups... The
copyright seems kind of excessive. --r$ ]
Morse takes the standard input and turns it in to international morse code.
It doesn't know what to do with spaces, chars it doesn't know about
it replaces with carrage returns. Also, it doesn't know about uppercase.
#! /bin/sh
# This is a shell archive, meaning:
# 1. Remove everything above the #! /bin/sh line.
# 2. Save the resulting text in a file.
# 3. Execute the file with /bin/sh (not csh) to create:
# Makefile
# morse.l
# morse.p
export PATH; PATH=/bin:/usr/bin:$PATH
if test -f 'Makefile'
then
echo shar: "will not over-write existing file 'Makefile'"
else
cat << \SHAR_EOF > 'Makefile'
DESTDIR=/usr/bin
DESTMAN=/usr/man/manl
all: morse
install: morse mandone
cp morse ${DESTDIR}
morse: morse.p
pc -o morse morse.p
mandone: morse.l
cp morse.l ${DESTMAN}
touch mandone
SHAR_EOF
fi
if test -f 'morse.l'
then
echo shar: "will not over-write existing file 'morse.l'"
else
cat << \SHAR_EOF > 'morse.l'
.TH MORSE LOCAL "Jan 21, 1989" "UNIX User's Manual" ""
.SH NAME
morse \- translate standard input into international morse code.
.SH SYNOPSIS
morse
.SH DESCRIPTION
Morse takes the standard input and turns it in to international morse code.
.SH BUGS
Morse doesn't know what to do with spaces, chars it doesn't know about
it replaces with carrage returns. Also, it doesn't know about uppercase.
.SH AUTHOR
Nils McCarthy
.SH INTERNET.ADDRESS
mtymp01@ux.acss.umn.edu, ...!rutgers!umn-cs!ux.acss!mtymp01
SHAR_EOF
fi
if test -f 'morse.p'
then
echo shar: "will not over-write existing file 'morse.p'"
else
cat << \SHAR_EOF > 'morse.p'
(*
THIS PROGRAM IS COPYRIGHT 1989 NILS MCCARTHY
ALL RIGHTS RESERVED INCLUFING THAT OF MODIFYING
THIS PROGRAM WITHOUT THE AUTHOR'S CONSENT.
THIS PROGRAM MAY BE FREELY DISTRIBUTABLE PROVIDED
THIS HEADER IS KEPT WITH IT.
Please send any and all comments to mtymp01@ux.acss.umn.edu,
if user mtymp01 unknown, please send to mccarthy@ux.acss.umn.edu
with subject 'To Nils', because that isn't my account.
*)
program genmorse(input,output);
var
let : char;
begin
repeat
read(let);
case let of
'a' : write('.- ');
'b' : write('-... ');
'c' : write('-.-. ');
'd' : write('-..');
'e' : write('. ');
'f' : write('..-.');
'g' : write('--.');
'h' : write('....');
'i' : write('..');
'j' : write('.---');
'k' : write('-.-');
'l' : write('.-..');
'm' : write('--');
'n' : write('-.');
'o' : write('---');
'p' : write('.--.');
'q' : write('--.-');
'r' : write('.-.');
's' : write('...');
't' : write('-');
'u' : write('.--');
'v' : write('...-');
'w' : write('.--');
'x' : write('-..-');
'y' : write('-.--');
'z' : write('--..');
'1' : write('.----');
'2' : write('..---');
'3' : write('...--');
'4' : write('....-');
'5' : write('.....');
'6' : write('-....');
'7' : write('--...');
'8' : write('---..');
'9' : write('----.');
'0' : write('-----');
'.' : write('.-.-.-');
',' : write('--..--');
'?' : write('..--..');
':' : write('---...');
';' : write('-.-.-.');
else
write(chr(10));
end;
write(' ');
until EOF(input);
writeln('.-.-.')
end.
SHAR_EOF
fi
exit 0
# End of shell archive
Thank you...
also, if you want a comment, this is it:
[Sorry, no readme. just edit Makefile to change destdir and mandir, then do
make install and have everything happen.]
---Nils McCarthy---mtymp01@ux.acss.umn.edu---...!rutgers!umn-cs!ux.acss!mtymp01