From 58e5682a99508e82941ad4b11bb0a07f532b5c8c Mon Sep 17 00:00:00 2001 From: Gabriel Kerneis Date: Mon, 9 Jun 2014 13:50:02 +0100 Subject: Add explicit flag -r to rebuild in demo.sh ./demo.sh now jumps straight into the interpreter. ./demo.sh -r does the fancy "rebuild step-by-step with comments" show --- src/demo.sh | 42 ++++++++++++++++++++++++++++++++---------- 1 file changed, 32 insertions(+), 10 deletions(-) (limited to 'src') diff --git a/src/demo.sh b/src/demo.sh index 7d883181..af737867 100755 --- a/src/demo.sh +++ b/src/demo.sh @@ -5,6 +5,8 @@ POWERISA="../../../rsem/idl/power" # restricted set of instructions to translate MNEMO="stwu,stw,mr,addi,lwz,bclr,or" +REBUILD=0 + run () { printf "\n# $1\n" printf "$ $2" @@ -12,17 +14,37 @@ run () { eval $2 } -run "Building Sail" "ocamlbuild sail.native" +while getopts ":r" opt; do + case $opt in + r) + REBUILD=1 + ;; + \?) + echo "Invalid option: -$OPTARG" >&2 + ;; + esac +done + +rebuild () { + run "Building Sail" "ocamlbuild sail.native" -run "Generating the Sail interpreter from Power ISA (restricted to: $MNEMO)" \ - "make -C $POWERISA clean extract EXPORT_MNEMO=$MNEMO" + run "Generating the Sail interpreter from Power ISA (restricted to: $MNEMO)" \ + "make -C $POWERISA clean extract EXPORT_MNEMO=$MNEMO" -run "Type-checking Sail Power model" "make -C $POWERISA check" -run "Copying Power model locally to run tests" \ - "cp $POWERISA/generated/extract-full.sail test/power.sail" -#git diff test/power.sail + run "Type-checking Sail Power model" "make -C $POWERISA check" + run "Copying Power model locally to run tests" \ + "cp $POWERISA/generated/extract-full.sail test/power.sail" + #git diff test/power.sail + + run "Translating Power model from Sail to OCaml via Lem" "ocamlbuild test/run_power.native" +} -run "Translating Power model from Sail to OCaml via Lem" "ocamlbuild test/run_power.native" +DEMO="./run_power.native --interactive --file test/main.bin" -run "Starting interactive interpreter (press 'h' for help)" \ - "./run_power.native --interactive --file test/main.bin" +if [ $REBUILD -eq 1 ]; then + rebuild + run "Starting interactive interpreter (press 'h' for help)" \ + "$DEMO" +else + $DEMO +fi -- cgit v1.2.3