File mttroot/mtt/bin/trans/mtt_optimise.sh artifact a0808806c8 part of check-in 56f530fcb4


#! /bin/sh

set -e

# get expression to optimise

lhs="$1"
rhs="$2"

create_reduce_script ()
{
    lhs="$1"
    rhs="$2"

    cat <<EOF
off echo$
load scope$
on double$
on noconvert$
on rounded$
off int$
off nat$

out "${tmp}"$
optimize mtt_tmp0 :=: ${rhs} iname mtt_tmp$
write "${lhs} := mtt_tmp0 $"$
shut "${tmp}"$

;end;
EOF
    return
}


# set work file names

tmp="$0.tmp"
log="$0.log"

create_reduce_script "${lhs}" "${rhs}" | reduce > ${log}

cat ${tmp}
rm -f ${tmp}

exit 0

MTT: Model Transformation Tools
GitHub | SourceHut | Sourceforge | Fossil RSS ]