3
제 1 항에 있어서, 상기 제 2 단계는, 상기 삭제할 객체 시그너춰를 설정하고, 상기 현재 블럭을 설정하며, 상기 언더플로우 플래그를 거짓으로 놓는 제 4 단계; 상기 객체 시그너춰, 상기 현재 블럭, 상기 언더플로우플래그를 인자로 하여 삭제(Delete) 루틴을 호출하는 제 5 단계; 상기 현재 블럭이 상기 시그너춰 블럭인지 여부를 확인하는 제 6 단계; 상기 제 6 단계의 확인 결과, 상기 현재 블럭이 상기 시그너춰 블럭이면, 상기 현재 블럭내에 존재하는 새로운 엔트리를 엑세스하는 제 7 단계; 상기 새로운 엔트리가 존재하는지를 확인하는 제 8 단계; 상기 제 8 단계의 확인 결과, 새로운 엔트리가 존재하지 않으면, 리턴하는 제 9 단계; 상기 제 8 단계의 확인 결과, 새로운 엔트리가 존재하면 상기 객체 시그너춰에 대하여 접두어 일치성 연산을 충족하는지를 검사하는 제 10 단계; 상기 제 10 단계의 확인 결과, 접두어 일치성 연산을 충족하지 않으면, 상기 7 단계로부터 반복하는 제 11 단계; 상기 제 10 단계의 확인 결과, 접두어 일치성 연산을 충족한다면, 상기 새로운 엔트리를 상기 현재 블럭으로부터 삭제하는 제 12 단계; 언더플로우가 발생하는지를 확인하는 제 13 단계; 상기 제 13 단계의 확인 결과,언더플로우가 발생하지 않으면,리턴하는 제 14 단계; 상기 제 13 단계의 확인 결과, 언더플로우가 발생하면 언더플로우플래그를 참으로 놓고 리턴하는 제 15 단계; 상기 제 6 단계의 확인 결과, 상기 현재 블럭이 시그너춰 블럭이 아니면, 상기 현재 블럭내에 존재하는 상기 새로운 엔트리를 엑세스하는 제 16 단계; 상기 새로운 엔트리가 존재하는지를 확인하는 제 17 단계; 상기 제 17 단계의 확인 결과, 새로운 엔트리가 존재하지 않으면 리턴하는 제 18 단계; 상기 제 17 단계의 확인 결과, 새로운 엔트리가 존재하면, 다시 상기 객체 시그너춰에 대하여 접두어 일치성 연산을 충족하는지를 검사하는 제 19 단계; 상기 제 19 단계의 검사 결과, 접두어 일치성 연산을 충족하지 않으면, 제 16 단계부터 반복하는 제 20 단계; 상기 제 19 단계의 검사 결과, 접두어 일치성 연산을 충족한다면, 새로운 엔트리를 처리중인 현재 엔트로 놓고, 블럭을 다음 단계 블럭으로 놓고, 언더플로우플래그변수를 거짓으로 놓는 제 21 단계; 상기 객체 시그너춰,상기 다음 단계 블럭, 상기 국부언더플로우플래그를 인자로 하여 삭제루틴을 재귀적으로 호출하는 제 22 단계; 상기 국부언더플로우플래그가 참인지 여부를 확인하는 제 23 단계; 상기 제 23 단계의 확인 결과, 상기 국부언더플로우플래그가 참이 아니면, 리턴하는 제 24 단계; 상기 제 23 단계의 확인 결과, 상기 국부언더플로우플래그가 참이면, 상기 병합될 엔트리가 존재하는지를 검사하는 제 25 단계; 상기 제 25 단계의 검사 결과, 상기 병합될 엔트리가 존재하지 않으면 리턴하는 제 26 단계; 상기 제 25 단계의 검사 결과, 상기 병합될 엔트리가 존재하면, 상기 다음 블럭과 상기 병합될 엔트리가 가리키는 블럭내의 모든 엔트리들을 다음 블럭내에 병합시키고, 상기 현재 엔트리의 접두어를 공통 접두어로 대체시킨 후, 병합될 엔트리를 삭제시키는 제 27 단계; 상기 언더플로우가 발생하는지를 확인하는 제 28 단계; 상기 제 28 단계의 확인 결과, 상기 언더플로우가 발생하지 않으면, 리턴하는 제 29 단계; 상기 제 28 단계의 확인 결과, 상기 언더 플로우가 발생하면 상기 언더플로우플래그를 참으로 놓은 후에, 리턴하는 제 30 단계; 루트블럭내에 한 블럭만 존재하는지를 확인하는 제 31 단계; 상기 제 30 단계의 확인 결과에 따라, 한 블럭만이 존재하면, 엔트리가 가리키는 블럭을 새로운 루트블럭으로 지정하는 제 32 단계 를 포함하여 이루어진 분할 시그너춰 파일을 위한 디렉토리 관리 방법
|