#!/bin/rc
rfork en
fn usage {
echo usage: $0 '[-x var] [-i ''[min [inc]] max]''] [file] expr'
exit usage
}
bnds=()
while(~ $1 -*){
switch($1){
case -x
var=$2
shift
case -i
l=`{ echo $2}
for(i in $l)
bnds=($i $bnds)
l=()
shift
case -*
usage
}
shift
}
if(! ~ $#* 1 2)
usage
if(~ $#* 2){
funcs=$1
shift
}
if(~ $var '')
var=α
fn holoop {
switch($#bnds){
case 0
bnds=(4 1 0)
case 1
bnds=($bnds 1 0)
case 2
bnds=($bnds(1) 1 $bnds(2))
}
echo -n 'for(i='$bnds(3)'; i<'$bnds(1)'; i+='$bnds(2)')'
echo -n '{
print i
print '
read -n 1
echo '
print "\n"
}'
}
fn hocomp {
if(! ~ $funcs '')
cat $funcs || exit error
holoop
}
echo $1 | sed 's/'^$var^'/i/g' | hocomp | hoc | gview
|