Java 파서는 모호한 단항 연산자를 어떻게 처리합니까?단항 접두어 연산자의 Java 명확성
예를 들어 int x
이 어딘가에 있다고 가정하면 +--x
은 완전히 유효한 코드입니다. ---x
도 이론적으로는 유효하지만 컴파일러에서 오류가 발생합니다. 마찬가지로 +~~~~~~+--x
도 허용되지만 ~~~~~~++--x
은 둘 다 유효한 표현식으로 파싱 될 수 있습니다.
내가 알 수있는 한, 문법은 모호하기 때문에 토큰 화 중에 처리해야하지만 설명 할 수있는 항목이 없습니다. 가능 아무 +-(-x)
이 없기 때문에 +--x
이 모호 -(--x)
또는 --(-x)
또는 -(-(-x))
동안 의미 할 수 있기 때문에
"궁금한 마음을 알고 싶다"면을 제외하고 - 이것을 알 필요가있는 실용적인 상황을 생각할 수 있습니까? 다른 말로하면 - 이것도 중요합니까? 이런 식으로 우연히 만났습니까? – Floris
@Floris 저는 Java 소스 코드를 출력하는 도구를 만들고 있습니다. 그렇기 때문에 중요합니다. – Antimony
귀하의 의견 중 일부는 "Java 컴파일러가 모호한 단항 연산자를 어떻게 감지합니까?" 내가 맞습니까, 아니면 제가 그 요점을 완전히 놓쳤습니까? – ajmccluskey