A New Object-Oriented Programming Language: SH: Jeffrey S. Haemer Canary Software, Inc
A New Object-Oriented Programming Language: SH: Jeffrey S. Haemer Canary Software, Inc
A New Object-Oriented Programming Language: SH: Jeffrey S. Haemer Canary Software, Inc
Jeffrey S. Haemer
Canary Software, Inc.
References
# turing machine
[Budd89] Tim Budd. ‘‘The design of an object- # recognizes aˆn bˆn
oriented command interpreter,’’ Software Practice
and Experience, 19(1), pp. 35-51 (January 1989). MACHINE=$O_NAME
TAPE=${MACHINE}_T
[Brooks75] Fredrick P. Brooks, Jr.. The Mythical export MACHINE TAPE
Man-Month: Essays on Software Engineering, Addi-
son Wesley, Reading, Massachusetts. pp. 93-94 destroy() {
(1975). #debug destroy $*
_destroy $TAPE s1 s2 s3 s4 s5
[Cargill91] T. A. Cargill, ‘‘The Case against multiple exit
} left() {
if test $n -le 1
accept() { then
echo ACCEPT! echo HALT
destroy return 1
} else
let n=n-1
reject() { return 0
echo REJECT! fi
destroy }
}
load() {
new tape $TAPE S=$1
new node s1 s2 s3 s4 s5 let n=1
return 0
send $TAPE load aabb }
transition() { define() {
send $XITIONS define $* eval def_$1="$2"
return 0 return 0
} }
destroy() { lookup() {
send -d $XITIONS destroy $* eval echo $"def_$1"
_destroy $* return 0
} }
if test -z "$ACTION"
then
send -d $MACHINE reject
return 0
fi
OUT_CHAR=$(echo $ACTION |
cut -f 1 -d:)
DIRECTION=$(echo $ACTION |
cut -f 2 -d:)
NEXT_STATE=$(echo $ACTION |
cut -f 3 -d:)
# Small dictionary
dictionary() {
set | sed -n ’s/ˆdef_//p’