Links und Funktionen
Sprachumschaltung

Navigationspfad
Sie sind hier: Startseite / Lehre / SS 2010 / Semantik von Programmiersprachen / bigstep.ml


Inhaltsbereich

bigstep.ml

OCaml source code icon bigstep.ml — OCaml source code, 1 KB

Dateiinhalt

datatype aexp 
  = Num of int 
  | Var of string 
  | Plus of aexp * aexp 
  | Minus of aexp * aexp 
  | Times of aexp * aexp

datatype bexp 
  = True 
  | False 
  | Neg of bexp 
  | Eq of aexp * aexp 
  | Leq of aexp * aexp

datatype com 
  = Skip 
  | Ass of string * aexp 
  | Seq of com * com 
  | If of bexp * com * com 
  | While of bexp * com

type state = string -> int

fun evalAExp (Num n) rho = n
  | evalAExp (Var x) rho = rho x
  | evalAExp (Plus(a1, a2)) rho = let 
      val m1 = evalAExp a1 rho 
      val m2 = evalAExp a2 rho 
      in m1 + m2 end                

Artikelaktionen


Funktionsleiste