0
현재 내 벡터의 문법은 숫자, 문자열, 벡터 및 식별자 모음과 같습니다. 이제ANTLR4에서 동일한 토큰 유형 일치
vector:
'[' elements+=vector_members? (vector_delimiters elements+=vector_members)* ']'
;
vector_delimiters
:
','
;
vector_members:
NUMBER
| STRING
| vector
| ID
;
, 벡터는 숫자 나 문자열 등과 같은 특정 유형의 요소를 포함 할 수 있도록 문법을 통해 시행 할 수있는 방법이
당신이 나쁜 생각 것에 대해 전적으로 옳습니다, 그러나 당신이 제공 한 코드가 정말 식별자 (자신의 구별 유형을하지 않는 한 모든 요소가 동일한 유형을 가지고 적용하지 않습니다 : 귀하의
vector
규칙이 아니라해야 그것은 꽤 이상 할 것이다). 이렇게하려면 여러 유형의 ID를 어떻게 든 구별해야합니다. 문법 규칙만으로는 가능하지 않다고 생각합니다. – sepp2k@ sepp2k 좋은 지적. 이것이 별도의 단계에서 검증 할 수있는 또 하나의 이유입니다. –