almost done
# Please enter the commit message for your changes. Lines starting
# with '#' will be ignored, and an empty message aborts the commit.
#
# Committer: Yi-Hsiu Chen <hsiu@dyn-160-39-249-23.dyn.columbia.edu>
#
# On branch master
# Changes to be committed:
#   (use "git reset HEAD <file>..." to unstage)
#
#	modified:   report/report.tex
#	new file:   test/algorithm/gcd.clip
#	new file:   test/algorithm/gcd.ref
#	renamed:    test/report/hello_world.clip -> test/algorithm/hello_world.clip
#	new file:   test/algorithm/hello_world.ref
#	new file:   test/algorithm/rsa.clip
#	new file:   test/algorithm/rsa.ref
#	new file:   test/algorithm/sha3.clip
#	new file:   test/algorithm/sha3.ref
#	deleted:    test/algorithm/test-SHA1-theta.clip
#	renamed:    test/right-cases/test-arith.clip -> test/complex-function/test-arith.clip
#	renamed:    test/right-cases/test-arith.ref -> test/complex-function/test-arith.ref
#	new file:   test/complex-function/test-arith2.clip
#	new file:   test/complex-function/test-arith2.ref
#	renamed:    test/right-cases/test-binding.clip -> test/complex-function/test-binding.clip
#	renamed:    test/right-cases/test-binding.ref -> test/complex-function/test-binding.ref
#	renamed:    test/right-cases/test-bit.clip -> test/complex-function/test-bit.clip
#	renamed:    test/right-cases/test-bit.out -> test/complex-function/test-bit.ref
#	renamed:    test/right-cases/test-comp.clip -> test/complex-function/test-comp.clip
#	new file:   test/complex-function/test-comp.ref
#	renamed:    test/right-cases/test-defun5.clip -> test/complex-function/test-defun5.clip
#	renamed:    test/right-cases/test-arith.error -> test/complex-function/test-defun5.ref
#	renamed:    test/right-cases/test-if.clip -> test/complex-function/test-if.clip
#	renamed:    test/right-cases/test-binding.error -> test/complex-function/test-if.ref
#	renamed:    test/right-cases/test-lambda.clip -> test/complex-function/test-lambda.clip
#	renamed:    test/right-cases/test-comp.error -> test/complex-function/test-lambda.ref
#	renamed:    test/right-cases/test-logic.clip -> test/complex-function/test-logic.clip
#	renamed:    test/function/test-greater.ref -> test/complex-function/test-logic.ref
#	renamed:    test/right-cases/test-map.clip -> test/complex-function/test-map.clip
#	new file:   test/complex-function/test-map.ref
#	renamed:    test/right-cases/test-misce.clip -> test/complex-function/test-misce.clip
#	new file:   test/complex-function/test-misce.ref
#	renamed:    test/right-cases/test-mod.clip -> test/complex-function/test-mod.clip
#	new file:   test/complex-function/test-mod.ref
#	renamed:    test/right-cases/test-parser1.clip -> test/complex-function/test-parser1.clip
#	new file:   test/complex-function/test-parser1.ref
#	renamed:    test/right-cases/test-parser2.clip -> test/complex-function/test-parser2.clip
#	new file:   test/complex-function/test-parser2.ref
#	renamed:    test/right-cases/test-shiftrotate.clip -> test/complex-function/test-shiftrotate.clip
#	new file:   test/complex-function/test-shiftrotate.ref
#	renamed:    test/right-cases/test-type.clip -> test/complex-function/test-type.clip
#	new file:   test/complex-function/test-type.ref
#	renamed:    test/right-cases/test-vector.clip -> test/complex-function/test-vector.clip
#	new file:   test/complex-function/test-vector.ref
#	deleted:    test/right-cases/.DS_Store
#	deleted:    test/right-cases/test-arith.tree
#	deleted:    test/right-cases/test-binding.tree
#	deleted:    test/right-cases/test-bit.error
#	deleted:    test/right-cases/test-bit.tree
#	deleted:    test/right-cases/test-comp.tree
#	deleted:    test/right-cases/test-defun5.tree
#	deleted:    test/right-cases/test-if.tree
#	deleted:    test/right-cases/test-lambda.tree
#	deleted:    test/right-cases/test-logic.tree
#	deleted:    test/right-cases/test-map.tree
#	deleted:    test/right-cases/test-misce.tree
#	deleted:    test/right-cases/test-mod.tree
#	deleted:    test/right-cases/test-parser1.tree
#	deleted:    test/right-cases/test-parser2.tree
#	deleted:    test/right-cases/test-shiftrotate.tree
#	deleted:    test/right-cases/test-type.tree
#	deleted:    test/right-cases/test-vector.tree
#	renamed:    test/function/test-add.clip -> test/simple-function/test-add.clip
#	renamed:    test/function/test-add.ref -> test/simple-function/test-add.ref
#	renamed:    test/function/test-and.clip -> test/simple-function/test-and.clip
#	renamed:    test/function/test-and.ref -> test/simple-function/test-and.ref
#	renamed:    test/function/test-divide.clip -> test/simple-function/test-divide.clip
#	renamed:    test/function/test-divide.ref -> test/simple-function/test-divide.ref
#	renamed:    test/function/test-eq.clip -> test/simple-function/test-eq.clip
#	renamed:    test/function/test-eq.ref -> test/simple-function/test-eq.ref
#	renamed:    test/function/test-flip-bit.clip -> test/simple-function/test-flip-bit.clip
#	renamed:    test/function/test-flip-bit.ref -> test/simple-function/test-flip-bit.ref
#	renamed:    test/function/test-flip.clip -> test/simple-function/test-flip.clip
#	renamed:    test/function/test-flip.ref -> test/simple-function/test-flip.ref
#	renamed:    test/function/test-geq.clip -> test/simple-function/test-geq.clip
#	renamed:    test/function/test-geq.ref -> test/simple-function/test-geq.ref
#	renamed:    test/function/test-greater.clip -> test/simple-function/test-greater.clip
#	new file:   test/simple-function/test-greater.ref
#	new file:   test/simple-function/test-group.clip
#	new file:   test/simple-function/test-group.ref
#	renamed:    test/function/test-inverse.clip -> test/simple-function/test-inverse.clip
#	renamed:    test/function/test-inverse.ref -> test/simple-function/test-inverse.ref
#	renamed:    test/function/test-is-prime.clip -> test/simple-function/test-is-prime.clip
#	renamed:    test/function/test-is-prime.ref -> test/simple-function/test-is-prime.ref
#	new file:   test/simple-function/test-lambda.clip
#	new file:   test/simple-function/test-lambda.ref
#	renamed:    test/function/test-leq.clip -> test/simple-function/test-leq.clip
#	renamed:    test/function/test-leq.ref -> test/simple-function/test-leq.ref
#	renamed:    test/function/test-less.clip -> test/simple-function/test-less.clip
#	renamed:    test/function/test-less.ref -> test/simple-function/test-less.ref
#	new file:   test/simple-function/test-let.clip
#	new file:   test/simple-function/test-let.ref
#	new file:   test/simple-function/test-make-vector.clip
#	new file:   test/simple-function/test-make-vector.ref
#	new file:   test/simple-function/test-map.clip
#	new file:   test/simple-function/test-map.ref
#	new file:   test/simple-function/test-merge.clip
#	new file:   test/simple-function/test-merge.ref
#	renamed:    test/function/test-mod.clip -> test/simple-function/test-mod.clip
#	renamed:    test/function/test-mod.ref -> test/simple-function/test-mod.ref
#	renamed:    test/function/test-multiply.clip -> test/simple-function/test-multiply.clip
#	renamed:    test/function/test-multiply.ref -> test/simple-function/test-multiply.ref
#	renamed:    test/function/test-neq.clip -> test/simple-function/test-neq.clip
#	renamed:    test/function/test-neq.ref -> test/simple-function/test-neq.ref
#	renamed:    test/function/test-next-prime.clip -> test/simple-function/test-next-prime.clip
#	renamed:    test/function/test-next-prime.ref -> test/simple-function/test-next-prime.ref
#	renamed:    test/function/test-not.clip -> test/simple-function/test-not.clip
#	renamed:    test/function/test-not.ref -> test/simple-function/test-not.ref
#	renamed:    test/function/test-or.clip -> test/simple-function/test-or.clip
#	renamed:    test/function/test-or.ref -> test/simple-function/test-or.ref
#	renamed:    test/function/test-pad.clip -> test/simple-function/test-pad.clip
#	renamed:    test/function/test-pad.ref -> test/simple-function/test-pad.ref
#	renamed:    test/function/test-pow.clip -> test/simple-function/test-pow.clip
#	renamed:    test/function/test-pow.ref -> test/simple-function/test-pow.ref
#	renamed:    test/function/test-rand.clip -> test/simple-function/test-rand.clip
#	renamed:    test/function/test-rand.ref -> test/simple-function/test-rand.ref
#	new file:   test/simple-function/test-reduce.clip
#	new file:   test/simple-function/test-reduce.ref
#	renamed:    test/function/test-sub.clip -> test/simple-function/test-sub.clip
#	renamed:    test/function/test-sub.ref -> test/simple-function/test-sub.ref
#	new file:   test/simple-function/test-transpose.clip
#	new file:   test/simple-function/test-transpose.ref
#	renamed:    test/function/test-zero.clip -> test/simple-function/test-zero.clip
#	renamed:    test/function/test-zero.ref -> test/simple-function/test-zero.ref
#	modified:   testall.sh
#
# Untracked files:
#   (use "git add <file>..." to include in what will be committed)
#
#	ast.cmi
#	ast.cmo
#	builtin.cmi
#	builtin.cmo
#	clip
#	clip.cmi
#	clip.cmo
#	clipc
#	debug.cc
#	exception.cmi
#	exception.cmo
#	gcd
#	hsiu
#	library/a.out
#	library/dynamic_builtin.cc
#	library/fun_pointer
#	library/merge
#	parser.cmi
#	parser.cmo
#	parser.ml
#	parser.mli
#	printast.cmi
#	printast.cmo
#	printsast.cmi
#	printsast.cmo
#	report/.DS_Store
#	report/hello_world.clip
#	report/hello_world.out
#	report/report.aux
#	report/report.fdb_latexmk
#	report/report.log
#	report/report.out
#	report/report.pdf
#	report/report.synctex.gz
#	report/report.toc
#	sast.cmi
#	sast.cmo
#	sast.txt
#	scanner.cmi
#	scanner.cmo
#	scanner.ml
#	semantic.cmi
#	semantic.cmo
#	test/algorithm/.DS_Store
#	test/algorithm/gcd
#	test/algorithm/hello_world
#	test/algorithm/rsa
#	test/algorithm/sha3
#	test/complex-function/.DS_Store
#	test/complex-function/test-arith.error
#	test/complex-function/test-arith.out
#	test/complex-function/test-arith.tree
#	test/complex-function/test-arith2.error
#	test/complex-function/test-arith2.out
#	test/complex-function/test-binding.error
#	test/complex-function/test-binding.out
#	test/complex-function/test-binding.tree
#	test/complex-function/test-bit.error
#	test/complex-function/test-bit.out
#	test/complex-function/test-bit.tree
#	test/complex-function/test-comp.error
#	test/complex-function/test-comp.out
#	test/complex-function/test-comp.tree
#	test/complex-function/test-defun5.error
#	test/complex-function/test-defun5.out
#	test/complex-function/test-defun5.tree
#	test/complex-function/test-if.error
#	test/complex-function/test-if.out
#	test/complex-function/test-if.tree
#	test/complex-function/test-lambda.error
#	test/complex-function/test-lambda.out
#	test/complex-function/test-lambda.tree
#	test/complex-function/test-logic.error
#	test/complex-function/test-logic.out
#	test/complex-function/test-logic.tree
#	test/complex-function/test-map.error
#	test/complex-function/test-map.out
#	test/complex-function/test-map.tree
#	test/complex-function/test-misce.error
#	test/complex-function/test-misce.out
#	test/complex-function/test-misce.tree
#	test/complex-function/test-mod.error
#	test/complex-function/test-mod.out
#	test/complex-function/test-mod.tree
#	test/complex-function/test-parser1.error
#	test/complex-function/test-parser1.out
#	test/complex-function/test-parser1.tree
#	test/complex-function/test-parser2.error
#	test/complex-function/test-parser2.out
#	test/complex-function/test-parser2.tree
#	test/complex-function/test-shiftrotate.error
#	test/complex-function/test-shiftrotate.out
#	test/complex-function/test-shiftrotate.tree
#	test/complex-function/test-type.error
#	test/complex-function/test-type.out
#	test/complex-function/test-type.tree
#	test/complex-function/test-vector.error
#	test/complex-function/test-vector.out
#	test/complex-function/test-vector.tree
#	test/simple-function/.DS_Store
#	test/simple-function/test-add.error
#	test/simple-function/test-add.out
#	test/simple-function/test-and.error
#	test/simple-function/test-and.out
#	test/simple-function/test-divide.error
#	test/simple-function/test-divide.out
#	test/simple-function/test-eq.error
#	test/simple-function/test-eq.out
#	test/simple-function/test-flip-bit.error
#	test/simple-function/test-flip-bit.out
#	test/simple-function/test-flip.error
#	test/simple-function/test-flip.out
#	test/simple-function/test-geq.error
#	test/simple-function/test-geq.out
#	test/simple-function/test-greater.error
#	test/simple-function/test-greater.out
#	test/simple-function/test-group.error
#	test/simple-function/test-group.out
#	test/simple-function/test-inverse.error
#	test/simple-function/test-inverse.out
#	test/simple-function/test-is-prime.error
#	test/simple-function/test-is-prime.out
#	test/simple-function/test-lambda.error
#	test/simple-function/test-lambda.out
#	test/simple-function/test-leq.error
#	test/simple-function/test-leq.out
#	test/simple-function/test-less.error
#	test/simple-function/test-less.out
#	test/simple-function/test-let.error
#	test/simple-function/test-let.out
#	test/simple-function/test-make-vector.error
#	test/simple-function/test-make-vector.out
#	test/simple-function/test-map.error
#	test/simple-function/test-map.out
#	test/simple-function/test-merge.error
#	test/simple-function/test-merge.out
#	test/simple-function/test-mod.error
#	test/simple-function/test-mod.out
#	test/simple-function/test-multiply.error
#	test/simple-function/test-multiply.out
#	test/simple-function/test-neq.error
#	test/simple-function/test-neq.out
#	test/simple-function/test-next-prime.error
#	test/simple-function/test-next-prime.out
#	test/simple-function/test-not.error
#	test/simple-function/test-not.out
#	test/simple-function/test-or.error
#	test/simple-function/test-or.out
#	test/simple-function/test-pad.error
#	test/simple-function/test-pad.out
#	test/simple-function/test-pow.error
#	test/simple-function/test-pow.out
#	test/simple-function/test-rand
#	test/simple-function/test-rand.DIFF
#	test/simple-function/test-rand.cc
#	test/simple-function/test-rand.error
#	test/simple-function/test-rand.out
#	test/simple-function/test-reduce.error
#	test/simple-function/test-reduce.out
#	test/simple-function/test-sub.error
#	test/simple-function/test-sub.out
#	test/simple-function/test-transpose.error
#	test/simple-function/test-transpose.out
#	test/simple-function/test-zero.error
#	test/simple-function/test-zero.out
#	translate.cmi
#	translate.cmo
