이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
임경영
가입: 2009년 4월 5일 올린 글: 27
|
올려짐: 2009년4월13일 16:19 주제: HW5의 equation 정의 관련 질문 |
|
|
1.
조교님이 올려주신 파일에서 equation 정의를 읽어봤는데 잘 이해가 안가네요
SetMinus, Restrict, Update
각각이
rhs\rhs, rhs|exp, rhs{exp->[[exp]]rhs}
라 하셨는데
무슨 의미인지 모르겠네요.
2.
문제의 요는
program C를 입력 받아서 equation의 셋을 출력하라는 것인데
출력하는 방식은
Equation들이 순서에 상관없이 출력되도 상관 없을까요? (set이면 compare에 따라서 순서대로 나올것 같은데.. )
그리고 label의 경우 꼭 parser에서 제공하는 (command에 붙어오는 label)을 써야하는지 궁금합니다.
3.
전체적으로 이해가 안가는데 다음과 같은예의 경우 이런식으로 나오는게 맞는지 궁금하네요
(label 3): x:=3
(label 4)
=> Out 4 { VAR("x"),NUM(3),In3 }
(label 3): while(x)
(label 4): x:=x+1;
=>????
점점 어려워지는 과제.. ㄷㄷㄷㄷ |
|
위로 |
|
|
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년4월13일 17:49 주제: |
|
|
1.
임경영 씀: |
SetMinus, Restrict, Update
각각이
rhs\rhs, rhs|exp, rhs{exp->[[exp]]rhs}
라 하셨는데
무슨 의미인지 모르겠네요.
|
* SetMinus는 차집합의 의미입니다. 는 에서 을 뺀 집합을 의미합니다.
* Restrict는 문제에 나오는
인용: |
""는 X가 뜻하는 메모리들 중에서 E를 true(0이 아닌 수)로 만드는 메모리들의 집합을 뜻한다.
|
을 표현하기 위한 것입니다.
* Update의 의미는 를 나타내기위해서 제공되는 것입니다.
2.
임경영 씀: |
출력하는 방식은
Equation들이 순서에 상관없이 출력되도 상관 없을까요?
|
함께 제공되는 README 파일에 적혀있는 것과 같이, 상관 없습니다.
임경영 씀: |
그리고 label의 경우 꼭 parser에서 제공하는 (command에 붙어오는 label)을 써야하는지 궁금합니다.
|
그렇습니다.
3.
임경영 씀: |
(label 3): x:=3
(label 4)
=> Out 4 { VAR("x"),NUM(3),In3 }
|
label 3에서의 x:=3에서 추출되는 방정식은
"Out 3 <- In 3에 x = 3을 추가한 것"
이 되겠습니다. 더 자세한 내용은 적지 않겠습니다.
교수님께서 비워두신 page 2 의 빈칸들을 매꾸시고, 그 이후에
OCaml로 그것을 옮기는 순서로 숙제를 하시는 것을 추천합니다. _________________ - soon@ropas |
|
위로 |
|
|
임경영
가입: 2009년 4월 5일 올린 글: 27
|
올려짐: 2009년4월13일 23:43 주제: 음.. |
|
|
인용: | 교수님께서 비워두신 page 2 의 빈칸들을 매꾸시고, 그 이후에
OCaml로 그것을 옮기는 순서로 숙제를 하시는 것을 추천합니다. |
page2의 어느부분이 빈칸인지 모르겠네요..
if e C1 C2와 while문의 경우를 생각해봐라 그런 듯인거 같네요 맞나요? ^^
이 부분은 HW4를 하셨으면 금방 생각해낼수 있는 부분인것 같고요,
저는 교수님께 스팩을 들을때는 프로그램을 방정식 형태로 바꾼뒤에 기계적으로 적용된 식을 도출해보자는게 목표인걸로 생각했습니다.
이게 이번 과제의 목적이 맞는지 궁금합니다. ^^
혹은 이렇게 여쭈어볼께요
수업시간에 한 내용인
(0)
x:=0;
(1)
while (x<100)
(2) x++; (3)
와 같은 내용이면
수업시간에는 X0 = ⊥, X1= {0}, X2= {0,..99} X3={1,..,100} (정확하진 않습니다..)
이런식으로 식을 풀어보았는데요.
이걸 그대로 프로그래밍으로 푼다고 생각해도 될까요?
혹은 원하는 equation도 저런식으로 나온다 생각해도 될까요?
만약 이게 또 맞는 '가정' 이라면
{0,1,2,3,4,} 과 같은 표시는 과제의 equation에서 어떻게 표시가 되나요?
입출력 예제라도 주시면 좋겠습니다.
입출력이 어떤 방식인지 감이 안오네요
if와 while에 대한 것을 푸는것이 문제에서 메인일것 같은데 이걸 제외한
x:=2; y:=3; 요런거의 예제라도 주시면 문제푸는데 많은 도움이 될것 같습니다^^
ps. 다른 분들은 잘 푸시고 계시는지 궁금하네요;;
문제만 일요일 월요일 이틀동안 계속 읽고 있는데 이해가 잘 안되서 --;;
모두 화이팅입니다~~^^ |
|
위로 |
|
|
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년4월14일 8:39 주제: |
|
|
임경영 씀: |
page2의 어느부분이 빈칸인지 모르겠네요..
if e C1 C2와 while문의 경우를 생각해봐라 그런 듯인거 같네요 맞나요? ^^
|
if, while 이외에도 ASSIGNSTAR에 해당하는 경우도 비어있네요.
임경영 씀: |
이 부분은 HW4를 하셨으면 금방 생각해낼수 있는 부분인것 같고요,
저는 교수님께 스팩을 들을때는 프로그램을 방정식 형태로 바꾼뒤에 기계적으로 적용된 식을 도출해보자는게 목표인걸로 생각했습니다.
이게 이번 과제의 목적이 맞는지 궁금합니다. ^^
|
이번 숙제는 프로그램에서 방정식을 도출하는 것까지 입니다.
그 방정식을 푸는 것은 아마도 다음 숙제에서 하실 내용일 것입니다.
즉, 프로그램 수행이 끝나지 않더라도, 방정식 도출은 끝나게 됩니다.
임경영 씀: |
x:=2; y:=3; 요런거의 예제라도 주시면 문제푸는데 많은 도움이 될것 같습니다^^
|
다음과 같은 결과가 나오게 됩니다.
코드: |
-----------Parse Result-----------
2: 0: x := 2;
1: y := 3
--------Extracted Equation--------
I0 <= I2
I1 <= O0
O0 <= ((I0){x->[2](I0)})
O1 <= ((I1){y->[3](I1)})
O2 <= O1
|
_________________ - soon@ropas
공순호 가 2009년4월15일 11:04에 수정함, 총 1 번 수정됨 |
|
위로 |
|
|
임경영
가입: 2009년 4월 5일 올린 글: 27
|
올려짐: 2009년4월14일 12:27 주제: |
|
|
그렇군요..
이번숙제는 방정식을 푸는게 아니군요.. ㅠ_ㅠ
빈칸을 채워보고 문제를 풀어보는게 좋겠다는 의미를 이해했습니다~ ^^
감사합니다~ |
|
위로 |
|
|
임경영
가입: 2009년 4월 5일 올린 글: 27
|
올려짐: 2009년4월14일 20:17 주제: |
|
|
갑작스레 궁금한데..
왜 합집합을 나타내는 equation은 없는거죠??
Y1,Y2의 결과물이 있을때
Y가 Y1,Y2의 결과물의 합집합이라고 표시하고 싶은데 방법이 없네요..
그렇지 않고서는 Y에 대한 식이 복잡하게 나올것 같은데.. |
|
위로 |
|
|
공순호
가입: 2005년 9월 29일 올린 글: 363 위치: 302동 312-2호
|
올려짐: 2009년4월14일 20:20 주제: |
|
|
문제에 의하면
의 의미는 "X지점으로 흘러들 수 있는 메모리 상태는 rhs를 포함한다"
입니다.
따라서 만약
을 나타내고 싶으신 것이면
와 같이 나누어서 표현하시면 됩니다. _________________ - soon@ropas |
|
위로 |
|
|
|