경로가 구분 기호로 구분 된 인스턴스 이름 목록 인 인스턴스 이름과 경로를 구문 분석해야하는 문법을 구현하고 싶습니다. 경로가 표시됩니다 전에 분할 될 수 있습니다 .
는 입력 파일에 주어진 (기간) 또는 /
(슬래시), 예 :Boost spirit : 로컬 변수 값을 변경하여 char_를 구문 분석합니다.
DIVIDER .
a.b.c
x.y.z
일단 설정, 디바이더는 결코 전체 파일에 대한 변경되지 않습니다 (예로 설정하면 .
, a/b/c
과 같은 경로를 만나면 올바르게 구문 분석해서는 안됩니다.) 사전에 구분선이 무엇인지 알지 못하기 때문에 문법 변수에 저장하고 해당 값인 char_
파서에서이 값을 사용하는 방법에 대해 생각하고 있습니다. (물론 실제 문법은 훨씬 복잡하지만 내가 문제가있는 부분).
이것은 다소이 질문과 비슷합니다 : Boost spirit using local variables Nabialek 트릭을 사용하면 구분선이 설정된 후 "유효하지 않은"경로를 구문 분석 할 수 있기 때문에 원하는 것은 아닙니다.
여기에 완벽한 해결책을 묻지는 않지만 내 질문은 본질적으로 다음과 같습니다. 내 문법 구성원으로 값을 구문 분석 한 다음이 값을 나머지 입력 구문 분석에 사용할 수 있습니까?
감사합니다. 첫 번째 접근 방식은 거의 비슷하게 보였지만 무한 루프가 발생했습니다. 적어도 나는 그것이 가능하다는 것을 안다. 월요일에 시도하고 다시보고 할 것입니다. – tickferno
예, 훌륭하게 작동합니다. 고마워요! 편집 : 상속 된 특성을 가진 첫 번째 변형을 사용합니다. 나에게 가장 깨끗하고 판독 가능한 솔루션처럼 보입니다. – tickferno