게시판 인덱스

 
 FAQFAQ   검색검색   멤버리스트멤버리스트   사용자 그룹사용자 그룹   사용자 등록하기사용자 등록하기 
 개인 정보개인 정보   비공개 메시지를 확인하려면 로그인하십시오비공개 메시지를 확인하려면 로그인하십시오   로그인로그인 

[HW5] module type을 지우셔도 됩니다.

 
글 쓰기   답변 달기     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2013)
이전 주제 보기 :: 다음 주제 보기  
글쓴이 메시지
강지훈



가입: 2008년 9월 2일
올린 글: 291
위치: 302동 312-2호

올리기올려짐: 2013년6월3일 11:00    주제: [HW5] module type을 지우셔도 됩니다. 인용과 함께 답변

안녕하세요? 강지훈입니다.

analyzer를 구현하기 위해 충분한 기능을 domain.ml이 제공하지 못한다는 지적이 있었습니다.
그럴때 module type을 지우셔도 됩니다.

--
domain.ml seems not capable of supporting full functionalities what analyzer requires.
In this case, you may remove module type restriction as follows:

--
예를 들어,

module FlatDomain (A: SET) : FLAT_DOMAIN
with type atom = A.elt =
struct
type elt = BOT | TOP | ELT of A.elt
type atom = A.elt
let bot = BOT
let top = TOP
let join x y = match (x, y)
with (BOT, _) -> y
| (_, BOT) -> x
| (TOP, _) -> TOP
| (_, TOP) -> TOP
| (x, y) -> if x=y then x else TOP
let leq x y = match (x, y)
with (BOT, _) -> true
| (_, TOP) -> true
| (ELT a, ELT b) -> a=b
| _ -> false
let make a = ELT a
end

=>

module FlatDomain (A: SET) =
struct
type elt = BOT | TOP | ELT of A.elt
type atom = A.elt
let bot = BOT
let top = TOP
let join x y = match (x, y)
with (BOT, _) -> y
| (_, BOT) -> x
| (TOP, _) -> TOP
| (_, TOP) -> TOP
| (x, y) -> if x=y then x else TOP
let leq x y = match (x, y)
with (BOT, _) -> true
| (_, TOP) -> true
| (ELT a, ELT b) -> a=b
| _ -> false
let make a = ELT a
end

와 같이 변환하셔도 좋습니다.

불편을 드려 죄송합니다.[/img]
_________________
강지훈
프로그래밍의 원리 조교

Jeehoon Kang
TA, Principles of Programming
위로
사용자 정보 보기 비밀 메시지 보내기
이전 글 표시:   
글 쓰기   답변 달기     게시판 인덱스 -> 4541.664A Program Analysis (Spring 2013) 시간대: GMT + 9 시간(한국)
페이지 11

 
건너뛰기:  
새로운 주제를 올릴 수 없습니다
답글을 올릴 수 없습니다
주제를 수정할 수 없습니다
올린 글을 삭제할 수 없습니다
투표를 할 수 없습니다


Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group
Translated by kss & drssay