uutils coreutils 0.11.0, 파싱 오류에 인수와 문제 위치를 가리키는 컴파일러식 진단 추가
- uutils coreutils 0.11.0은 터미널 stderr에서 파싱 오류가 나면 명령 인수를 소스 줄처럼 다시 출력하고, 문제 인수나 문자 위치에 캐럿을 표시하는 진단을 사용함
- cut -f 1,4-2,9-12처럼 긴 목록의 감소 범위에서는
4-2를 표시하고, 허용되는 목록 문법과 예시를 Help 줄에 출력함 - chmod, sort, env -S, test는 각각 잘못된 연산자, 필드 명세의 불필요한 문자, 숫자로 시작하는 변수명, 정수 비교에 쓴 문자열을 해당 문자나 인수 위치에 표시함
- 공통 SIZE 파서의 진단은
head -c 1fb에서 알 수 없는 단위fb를 가리키며,tail,truncate,split,shred,od,sort,du,df,ls등 같은 크기 문법을 쓰는 명령에도 적용됨 - 글은 uutils awk가 이미 비슷한 방식으로 awk 프로그램 오류를 표시했으며, coreutils의
test표현식,chmod모드,sort키,tr집합도 작은 언어처럼 파싱된다고 설명함
Hacker News 의견들
컴파일러 호출 대부분은 에러로 끝나니, 진단 품질에 공을 들일 가치가 큼. 스팬을 추적하고 실패 원인을 더 계산하는 일은 본 경로의 추가 작업이지만, 어디서 틀렸는지 바로 보이면 고치는 속도가 완전히 달라짐.
어느 컴파일러를 작업하고 있는지 궁금함.