이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
서상원
가입: 2005년 9월 27일 올린 글: 33
|
올려짐: 2005년9월27일 1:30 주제: nML에는 C의 #include 같은 구문이 없나요? |
|
|
숙제 코드와 테스트 코드를 분리하기 위해
한 nML 파일에서 다른 nML 파일을 읽어오고 싶은데
nML에는 C의 #include에 해당하는 기능이 없나요? |
|
위로 |
|
 |
김덕환
가입: 2005년 8월 29일 올린 글: 190
|
올려짐: 2005년9월27일 13:01 주제: Re: nML에는 C의 #include 같은 구문이 없나요? |
|
|
서상원 씀: | 숙제 코드와 테스트 코드를 분리하기 위해
한 nML 파일에서 다른 nML 파일을 읽어오고 싶은데
nML에는 C의 #include에 해당하는 기능이 없나요? |
모듈(structure) 안에 포함된 선언을 다른 파일에서 불러 쓸 수 있습니다. 예를 들어 문제 6번의 경우에 다음과 같이 선언된 것을
코드: |
structure _정수리스트_큐 =
struct
...
val 빈큐 = ...
...
end
|
다른 파일에서 다음 두 가지 형태로 사용할 수 있습니다.
혹은
첫번째 숙제는 교수님께서 언어 학습을 염두에 두시고 만드신 문제들이라, 문제 1~5까지는 모듈 형태가 아닙니다. 따라서, 언어 자체에서 처리하기는 곤란하고, 외부 유틸리티를 사용해야 할 듯하군요. 다행히 원래 코드 뒤에 테스트 코드를 덧붙이기만 하면 될 테니까 그렇게 어렵지는 않겠습니다. 예를 들어, 조잡하기는 하지만 원래 코드는 1-s.n에 테스트 코드는 1-t.n에 있다고 할 때 다음 Makefile 정도면 원하는 효과를 낼 수 있을 듯 하네요(들여쓴 곳은 SPACE가 아니라 TAB을 사용해야 합니다).
코드: |
.SUFFIXES : .n .cmo
NMLC = nmlc
SRCS = 1.n
OBJECTS = $(SRCS:%.n=%.cmo)
TARGET = 1
all : $(TARGET)
$(TARGET) : $(OBJECTS)
$(NMLC) -o $(TARGET) $(OBJECTS)
.n.cmo :
$(NMLC) -c $< -o $@
.PHONY : clean
clean :
rm -f $(SRCS)
rm -f *.nty *.cmi *.cmo
rm -f *~
1.n: 1-s.n 1-t.n
cat 1-s.n 1-t.n > 1.n
|
물론, 작업할 때는 이렇게 하더라도 숙제를 제출하기 직전에 점검 차원에서 수동으로 1-s.n을 nmlc로 컴파일해보는 게 좋겠죠? _________________ TheyAreAsSmartAsYouAre |
|
위로 |
|
 |
서상원
가입: 2005년 9월 27일 올린 글: 33
|
올려짐: 2005년9월27일 23:10 주제: |
|
|
Makefile 감사히 쓰겠습니다.  |
|
위로 |
|
 |
서상원
가입: 2005년 9월 27일 올린 글: 33
|
올려짐: 2005년9월28일 0:39 주제: Re: nML에는 C의 #include 같은 구문이 없나요? |
|
|
김덕환 씀: | 다행히 원래 코드 뒤에 테스트 코드를 덧붙이기만 하면 될 테니까 그렇게 어렵지는 않겠습니다. 예를 들어, 조잡하기는 하지만 원래 코드는 1-s.n에 테스트 코드는 1-t.n에 있다고 할 때 다음 Makefile 정도면 원하는 효과를 낼 수 있을 듯 하네요(들여쓴 곳은 SPACE가 아니라 TAB을 사용해야 합니다).
|
..라고 생각했는데, 막상 해보니 생각했던 것과는 좀 다르네요.
테스트 코드를 실행시켜야 하기 때문에, 테스트 코드를 structure로 만들던지 val _ = let ... 형태로 만들어야 하더군요. 따라서 숙제 코드가 테스트 코드 사이에 들어가는 형국이 되어버리네요.
코드: | cat 1-s.n 1-t.n > 1.n |
부분을 '더욱 조잡하게'
코드: | cat 1-head.n 1-s.n 1-tail.n > 1.n |
형식으로 고쳐서 사용해야 할 것 같네요.
(아니면 숙제 코드를 structure로 감싼 다음에 테스트 코드에서 사용하는 것도 비슷할 것 같네요.) |
|
위로 |
|
 |
서상원
가입: 2005년 9월 27일 올린 글: 33
|
올려짐: 2005년9월28일 1:15 주제: |
|
|
...라고 생각했으나...
다 부질없는 삽질이었습니다.
코드: | // 숙제 코드
val _ = 테스트 코드 |
이런 형식으로 붙여 만들면 되는 거였습니다.
삽질금지!! |
|
위로 |
|
 |
김진현

가입: 2005년 9월 20일 올린 글: 91 위치: SNUCSE OPT. lab.
|
올려짐: 2005년9월28일 1:39 주제: 주제에서 한참 비껴가 있지만 |
|
|
위에 Makefile 에 대한 이야기가 있던데요,
nmakegen 을 사용하시면 Makefile 을 쉽게 만드실 수 있습니다.
아직 제대로 속을 들여다보진 않아서 잘은 모르겠지만요
죄송합니다 주제와 너무 상관이 없네요 ㅜㅠ _________________ The kingdom of heaven has been forcefully advancing, and forceful men lay hold of it. |
|
위로 |
|
 |
서상원
가입: 2005년 9월 27일 올린 글: 33
|
올려짐: 2005년9월28일 15:04 주제: 한 발 더 빗나가보면 |
|
|
아바타가 좋네요.
nmakegen도 한번 써봐야겠네요.
잊고 있었습니다.  |
|
위로 |
|
 |
|