1
입력이 [tag] Content [inner-tag] Inner [/inner-tag][/tag]
인 경우 [tag]
과 일치하는 마감 [/tag]
이 있는지 어떻게 확인할 수 있습니까?peg.js로 역 참조
지금 내 규칙은 다음 즉시 태그가 마지막 여는 태그와 일치하는지 확인 :
tagblock =
opentag:opentag content:content? closetag:closetag
{ if(opentag.name != closetag.name) {
throw new this.SyntaxError("No closing tag found for " + opentag.name);
} else {
return { name:opentag.name, content:content }
}
}
이 [tag] Content [/tag]
와 함께 작동하지만 위의 중첩 된 입력을.
peg.js로 내부 재귀를 어떻게 처리합니까?
당신을 감사합니다! 나는 우리 모두가 [XML 예제] (https://gist.github.com/dmajda/7688943)를 발견했다고 생각한다. 내 새로운 문제는 단일 요소 (예 : 닫는 태그가없는 요소)를 허용하는 것입니다. '[tag] Content [single] [/ tag]'와 같습니다. 나는 부정적인 선견지명을 가지고 실험 해 왔지만 아직 성공하지 못했다. 어떤 아이디어? – fusepilot
물론, 다른 질문을하는 것이 가장 좋습니다. 적어도이 질문과 제목을 업데이트하여 해당 질문을 캡슐화하십시오. – TML
하, 그냥 그 일을 처리하는 중이 었어. https://stackoverflow.com/questions/26089940/xml-single-node-parsing-with-peg-js. 감사. – fusepilot