박대준
가입: 2005년 10월 7일 올린 글: 245
|
올려짐: 2005년10월17일 0:55 주제: 숙제 3-1 테스트 셋과 뼈대 parser 에서 불편한 점 |
|
|
example 에서 커버하지 못하는 테스트 셋 2개 올려 봅니다.
주석 부분은 출력될 내용을 말합니다.
| 코드: |
(* static scoping test *)
let
x := 1
in
let
procedure addx(y) = (x := x + y)
in
let
x := 20
in
call addx(3)
end
end;
(x := x + 1);
write ( *(&x)) (* 5 *)
end
|
| 코드: |
(* malloc, &, * test *)
let
p := malloc(4)
in
(p) := 10;
(p + 1) := {fst := 1, snd := 2};
(p + 2) := 40;
(p + 3) := {fst := 50, next := {fst := 60, snd := 70}};
write *(p); (* 10 *)
if ( *(p + 1)).fst = 1 then write 20 else write -1 end; (* 20 *)
if ( *(p + 1)).snd = 1 then write -2 else write 30 end; (* 30 *)
write *(p + 4 - 2); (* 40 *)
write ( *(p + 3)).fst; (* 50 *)
write ( *(p + 3)).next.fst; (* 60 *)
write ( *(p + 3)).next.snd; (* 70 *)
(p + 4) := 123 (* error *)
end
|
그리고 뼈대 parser 에서 불편한 점 한가지.
(* 으로 시작하는 부분을 주석으로 인식하여, 위의 테스트 셋처럼 * 사용하기가 참 불편합니다.
이번 숙제 3-1 은 너무 쉬워서 금방 해결하시고, 다들 숙제 3-2 를 하시는지...
고수 분들이 아무도 숙제 3-1 에 관련한 테스트 셋을 올려주지 않으시길래 제가 올려봅니다.
이상한 점 있으시면 말해주세요. |
|