doc-src/Tutorial/CodeGen/exec
author kleing
Sat, 17 Apr 2004 00:46:22 +0200
changeset 14610 9c2e31e483b2
parent 5377 efb799c5ed3c
permissions -rw-r--r--
added HOL-Matrix, added HOL/Matrix/ROOT.ML
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
5377
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     1
consts exec :: ('a => 'v) => 'v list => (('a,'v) instr) list => 'v list
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     2
primrec
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     3
"exec s vs [] = vs"
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     4
"exec s vs (i#is) = (case i of
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     5
    Const v  => exec s (v#vs) is
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     6
  | Load a   => exec s ((s a)#vs) is
efb799c5ed3c *** empty log message ***
nipkow
parents:
diff changeset
     7
  | Apply f  => exec s ( (f (hd vs) (hd(tl vs)))#(tl(tl vs)) ) is)"