이전 주제 보기 :: 다음 주제 보기 |
글쓴이 |
메시지 |
김학봉
가입: 2008년 9월 5일 올린 글: 70
|
올려짐: 2008년11월30일 1:01 주제: 숙제 6-2 번 exeval type에 대한 질문입니다. |
|
|
인용: | exeval : pgm -> state -> statelist |
exeval 함수의 타입인데요.
state 가 의미하는 것이 뭔지 확실히 나와있지 않네요
기계의 초기 변수 state(int) 인가요? |
|
위로 |
|
|
강윤구
가입: 2008년 11월 27일 올린 글: 25
|
올려짐: 2008년11월30일 1:13 주제: 같은 질문 |
|
|
예로 들어준 두 가지에서
x:=1;에 해당하는 건가요?
만약 그렇다면 이것은
SEQUENCE로 만든 게 아닌 건가요? |
|
위로 |
|
|
최원태
가입: 2006년 9월 16일 올린 글: 369
|
올려짐: 2008년11월30일 10:59 주제: |
|
|
스펙에 의하면, 프로그램에 변수이름은 딱 하나 존재한다고 되어있죠.
일반적으로 프로그램을 실행하는 과정에서 프로그램의 상태라 하면
(1) 변수이름에 어떤 값이 할당 되어있는가
(2) 메모리의 어떤 번지수에 어떤 값이 들어있는가
(3) 현재 프로그램의 실행은 코드상의 어떤 지점에 있는가
이렇게 세가지를 의미합니다.
Mirrage 실행기가 정의하고 있는 언어에는 메모리가 없고,
프로그램의 실행위치는 Sequence를 관리하는 과정에서 자연스럽게 나타나니
변수별로 할당된 값만 프로그램의 상태로 고려하면 됩니다.
그리고 변수가 하나밖에 없지요.
그래서 단순하게 state를 int 타입의 값 하나로 쓰는 것입니다. |
|
위로 |
|
|
김학봉
가입: 2008년 9월 5일 올린 글: 70
|
올려짐: 2008년11월30일 17:10 주제: |
|
|
제가 이해하고 있는 것이 맞나요?
exeval 함수는 인자를 2개를 받는데 그 중 하나가 초기변수값이고,
그렇다면 (exeval (x :=1 ; (x := x+1)*) 0) 와
(exeval (x := x+1)* 1) 는 같은 실행결과를 내게되는거네요 |
|
위로 |
|
|
Jung-Dam 손님
|
올려짐: 2008년11월30일 19:24 주제: // |
|
|
문제의 정의 중에, 애매한 부분이 있습니다.
인용: |
"싹슬이"란 모든 가능한 경우를 실행하는 것
|
여기서 모든 가능한 경우에는 초기 상태를 포함하나요, 안하나요?
예제로 미루어 추측해보면 초기 상태는 포함 안하는것 같은데요. |
|
위로 |
|
|
최원태
가입: 2006년 9월 16일 올린 글: 369
|
올려짐: 2008년11월30일 21:16 주제: |
|
|
"모든 가능한 경우를 실행하는 것"
이라 함은, 모든 가능한 실행 경로 끝에서의 값을 계산한다는 뜻입니다. |
|
위로 |
|
|
|