나는 attoparsec으로 간단한 파서를 만들고자합니다. 생산 규칙의 라인을 따라있는이 : 내가 무엇에 있습니다 얻으려고Out of Memory Attoparsec 사용
block: ?token> [inline]
inline: <?token>foo<?> | anyText
따라서, 블록은 문자로 시작 시퀀스 다음에>를 다음에, 토큰 다음에? 인라인.
인라인은 foo 형식의 시퀀스이거나 일반 텍스트 일뿐입니다.
나는 폭발적인 메모리 사용을하고있다. 그러나 나는 그것을 피하기 위해 어떻게 파서를 고려해야할지 모르겠다. 내가 쓰고있는 파서의 요점은 그 '토큰'물건들을 꺼내는 것이다. 다음은 구현 예입니다.
이것은 제작 규칙을 LL 파서로 매우 직관적으로 번역 한 것으로 보입니다. 난 어려울 것이라고 생각합니다. 인라인으로 작품을 표현하는 방법을 모르겠습니다. "임의"텍스트로되어 있지만 숨겨진 인라인을 찾자 마자 구문 분석이 중지되어야합니다.