2017-05-24 65 views
0

당신은 dictstack에 있습니다 LVL 1에서포스트 스크립트 statusdict 이름 조회 순서 LVL 2,3에서

systemdict | globaldict | userdict 

당신은 제품 의존 사업자와 statusdict 있습니다. 내가 이해하는 바로는 "systemdict"의 "statusdict"키를 통해 액세스 할 수있는 사전 인 statusdict입니다. (틀 렸으면 고쳐줘).

일반적으로 이름 조회를 수행하면 먼저 userdict가 표시되고 다음으로 globaldict가 표시되고 systemdict가 마지막으로 표시됩니다.

내가 systemdict, globaldict 및 userdict가있는 languagelevel 2 또는 3에 있다고 가정 해 보겠습니다. 호환성을 위해서 나는 또한 statusdict를 가지고있다. statusdict가있는 경우 이름 조회의 순서는 무엇입니까? 통역사가 systemdict 이전 또는 systemdict 전에 statusdict를 확인합니까? (또는 다른 지점?)

답변

1

내가 레벨 1에서 보았 기 때문에 오랜 시간이 걸렸습니다. statusdict에서 연산자를 사용하는 유일한 방법은 특정 'statusdict begin'을 내 보내어 dict 스택 또는 유사한.

612 792 0 setpage 

그런 다음 당신이 '정의되지 않은'오류가 발생합니다 : 당신이하려고하면 예를 들어

은 고스트 스크립트의 statusdict은 이전 레벨 1 'setpage'을 구현합니다. 그러나 :

statusdict begin 612 792 0 setpage end 

가 작동합니다. 같은 결과로 다른 레벨 3 통역사와 비슷한 것을 시도했습니다.

그래서 나는 statusdict를 찾는 것에 대해 걱정할 필요가 없다고 말하고 싶습니다. 그 내용을 사용하고자하는 코드는 먼저 사전 스택에 넣고 get 또는 유사한 것을 사용하여 사전에 액세스해야합니다.

+0

및 레벨 1 인터프리터의 경우. 즉, 먼저 statusdict를 먼저 사용해야합니다. – juFo

+0

예, 제가 말씀 드렸듯이, 제가 레벨 1 통역관을 사용하기 때문에 오랜 시간이 걸렸습니다! – KenS

+0

자동 이름 조회를 사용하려면'begin'을 사용해야하지만'612 792 statusdict/setpage get exec' 또는 이와 유사한 명령을 사용할 수도 있습니다. TeX와 같이 오래된 드라이버 나 오래 살아온 드라이버가 사용하는 statusdict에는 몇 가지가 있습니다. 나는 그들을 실행하기 위해 몇 가지를 추가해야했습니다. –