커맨드 라인 파서를 만들고 옵션 번들링을 지원하고 싶습니다. 그러나 발생할 수있는 모호성 및 충돌을 처리하는 방법을 잘 모르겠습니다. 다음 세 가지 경우를 고려번들 된 명령 줄 옵션을 모호하게 구문 분석하는 방법은 무엇입니까?
1.
-I accepts a string
"-Iinclude" -> Would be parsed as "-I include"
2.
-I accepts a string
-n accepts an integer
"-Iincluden10" -> Would be parsed as "-I include -n 10" because the 'cluden10' after the first occurrence of 'n' cannot be parsed as an integer.
3.
-I accepts a string
-n accepts an integer
-c accepts a string
"-Iin10clude" -> ??? What now ???
어떻게 마지막 문자열을 처리하나요? 여러 가지 구문 분석 방법이 있으므로 사용자에게 모호성에 대해 알리는 오류가 발생합니까? 아니면 "-I i -n 10 -c lude"와 같이 가장 많이 생성되는 문자열을 파싱할지 결정해야합니까?
온라인에서 자세한 규칙을 찾을 수는 없지만 개인적으로는 모호한 오류로 표시합니다.
흥미로운 통찰력과 추천에 대해 감사드립니다. POSIX/Gnu 지침을 좀 더 조사한 다음 언급 한 간단한 기존 관행 중 하나를 결정하려고 노력할 것입니다. – NordCoder