nuna icon indicating copy to clipboard operation
nuna copied to clipboard

feat: v0.4스펙 수정 제안

Open abiriadev opened this issue 10 months ago • 1 comments

주 목적

  • v4스펙의 모호한 정의들을 명확하게 재정의
  • 각종 예외 사항을 구체적으로 명시
  • 한글 맞춤법 수정

구체적인 개선 내용

  • 값의 범위 설정을 구현자에게 넘김
  • null 을 값으로 정의하지 않음. (이전 명세는 이 부분이 명확하지 않음.)
  • 오버플로 및 언더플로를 표준 레벨에서 허용하지 않음.
  • 아이템을 구분함. 아이템은 null일 수 있는 메모리 공간이지만 은 정수만 의미함.
  • 스택 번호가 무한할 수 있음을 명시함.
  • , 명령어의 문법 에러를 명확하게 정의
  • 에러와 그 외를 구분
  • 구현체별로 상이할 수 있는 값의 범위를 위해 각종 런타임 에러를 정의
  • ! 명령어의 유니코드 핸들링에 대한 에러 추가
  • pointer가 0일 경우 아무 값도 가리키지 않기 때문에, 스택이 1부터 시작하도록 정의
  • 스택에서 현재 값, 이전 값을 찾을 수 없는 경우를 명확하게 정의하고 0을 기본 값으로 사용하도록 정의
  • 자잘한 한국어 오타 수정
  • pointer가 0보다 작은 상황에서의 POP 동작 에러 처리

기타 의견

위 내용은 99% 하위 호환성을 보장하지만(예전 코드들이 그대로 동작하지만), 몇몇 예외 처리의 구현을 강제하기 때문에 v0.4 스펙과 호환되기 어렵습니다.

만약 v0.4 스펙을 반드시 유지하셔야 한다면, 호환성을 깨트리는 변경들을 전부 선택사항으로 바꾸고 v0.4.1로 올리시기를 추천합니다.

abiriadev avatar Mar 28 '24 08:03 abiriadev