| 이전 주제 보기 :: 다음 주제 보기 |
| 글쓴이 |
메시지 |
현철 손님
|
올려짐: 2009년10월7일 0:19 주제: 음... |
|
|
LETF(
"f",
"x",
ASSIGN(
"x",
NUM(
2
)
),
LETV(
"y",
NUM(
1
),
SEQ(
CALLR(
"f",
"y"
),
WRITE(
VAR(
"y"
)
)
)
)
)
이것이 5번 파싱된 코든데요.. seq의 앞이랑 뒤에 넘겨주는 env가 다르지 않으신가요;; 그러기는 힘든데;;; |
|
| 위로 |
|
 |
현철 손님
|
올려짐: 2009년10월7일 0:20 주제: 악 |
|
|
악!! 아랫글의 댓글을 잘못달았습니다 ㅠ_ㅠ...
이거 로그인을 해야겠네요 ㅠㅠ 손님으로 했더니 지우지도 못하고 |
|
| 위로 |
|
 |
허기홍
가입: 2007년 9월 27일 올린 글: 231
|
올려짐: 2009년10월7일 0:59 주제: |
|
|
이 질문을 제가 수강생 때 했던 기억이 납니다.
test5.k-- 보시면
| 코드: |
1 let proc f(x) = x:= 2;
2 y:=1 in
3 (f<y>; write y)
|
라고 되어있죠.
파싱결과를 보면 알 수 있지만
f(x) = x:=2 ; y:=1 사이에 나온 저 세미콜론은 SEQ가 아닙니다.
LET을 여러 번 쓰는 번거로움을 없애주기 위한 설탕입니다.
설탕을 녹이면 -pp 옵션의 결과처럼 LETF 와 LETV 두개로 나오죠. |
|
| 위로 |
|
 |
|
|
새로운 주제를 올릴 수 없습니다 답글을 올릴 수 없습니다 주제를 수정할 수 없습니다 올린 글을 삭제할 수 없습니다 투표를 할 수 없습니다
|
Powered by phpBB 2.0.21-7 (Debian) © 2001, 2005 phpBB Group Translated by kss & drssay
|