Advertisement
Glenpl

Untitled

Dec 17th, 2022
795
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 0.53 KB | None | 0 0
  1.  
  2. -- Inst:
  3. -- skip
  4. -- x := e
  5. -- I_1; I_2
  6. -- if e >= 0 then I_1 else I_2
  7. -- P := proc(x){I}
  8. -- P := P_1 then P_2
  9. -- call P(e)
  10.  
  11. data Loc
  12. data Var
  13. data Num
  14. data PName
  15.  
  16. newloc :: (Loc -> Num) -> Loc
  17. newloc _ = 0
  18.  
  19. VEnv :: Var -> Loc
  20. Store :: Loc -> Num
  21.  
  22. PEnv :: PName -> (SynProc, VEnv)
  23.  
  24. SemExpr :: -> SynExpr -> (VEnv -> Store -> Num)
  25. -- SynExpr to po prostu Expr
  26.  
  27. SemInst :: SynInst -> (VEnv, Store, PEnv) -> State
  28.  
  29.  
  30.  
  31. -- Zdefiniuj typy funkcji semantycznych dla Inst i Expr (wraz z używanymi typami pomocniczymi)
  32.  
  33.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement