Links und Funktionen
Sprachumschaltung

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


Inhaltsbereich

bigstep.hs

Haskell source code icon bigstep.hs — Haskell source code, 1 KB

Dateiinhalt

data AExp = Num Int | Var String | Plus AExp AExp | Minus AExp AExp 
  | Times(AExp, AExp) 

data BExp = True | False | Neg BExp | Eq AExp AExp | Leq AExp AExp

data Com = Skip | Ass String AExp | Seq Com Com | If BExp Com Com 
   | While BExp Com

type State = String -> Int

evalAExp :: AExp -> State -> Int
evalAExp (Num n) rho = n
evalAExp (Var x) rho = rho x
evalAExp (Plus a1 a2) rho = 
   let m1 = evalAExp a1 rho 
       m2 = evalAExp a2 rho
   in m1 + m2

Artikelaktionen


Funktionsleiste