Antlr을 처음 사용하고 문자열을 선택적으로 토큰 화하기 위해 문법을 작성하려고합니다. 나는 이것을보기 위해 어디서 볼지와 접근법에 관한 도움이나 조언을 정말 고맙게 생각합니다.antlr - 선택적으로 문자열을 토큰 화 함
가section2
: 'section2' '{'
'disabled' a_disabled=NL
'}'
;
이는 문자열을 토큰 화 끝 '비활성화'예
는 "비활성화"문자열
section1 {
property1 disabled
}
section2 {
disabled
}
section3 {
property2 disabled
}
문법, 다양한 위치에서 장치의 출력에 나타나는 그 결과 ""가 property1과 property2에 할당되는 반면, 의도는 섹션 2에서 "비활성화 됨"을 토큰 화하고이를 a_disabled에 할당하는 것입니다. 예상 JSON 출력은 다음과 같습니다
{"section1":
{
"property1": "disabled"
},
"section2":
{
"disabled": "true",
},
"section3":
{
"property2": "disabled"
},
}
내가 정확히 2 장을 지정 작성된 코드가 "사실"에 장애인을하지만, 속성 1과 property2 값이 때문에 ""할당받을.
{"section1":
{
"property1": ""
},
"section2":
{
"disabled": "true",
},
"section3":
{
"property2": ""
},
}
ANTLR 디버그 출력은 "장애인"의 모든 항목이 토큰 화되고 있음을 보여줍니다.
이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 문서화를 통해 모드 또는 의미 론적 술어가 작동하는 것처럼 보입니다. Antlr 4.7과 Go도 사용하고 있습니다.
문법을 보여주세요. – user882813
문법으로 업데이트되었습니다. – user9085066