Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -- Inst:
- -- skip
- -- x := e
- -- I_1; I_2
- -- if e >= 0 then I_1 else I_2
- -- P := proc(x){I}
- -- P := P_1 then P_2
- -- call P(e)
- data Loc
- data Var
- data Num
- data PName
- newloc :: (Loc -> Num) -> Loc
- newloc _ = 0
- VEnv :: Var -> Loc
- Store :: Loc -> Num
- PEnv :: PName -> (SynProc, VEnv)
- SemExpr :: -> SynExpr -> (VEnv -> Store -> Num)
- -- SynExpr to po prostu Expr
- SemInst :: SynInst -> (VEnv, Store, PEnv) -> State
- -- Zdefiniuj typy funkcji semantycznych dla Inst i Expr (wraz z używanymi typami pomocniczymi)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement