0
저는 신틸라를위한 자체 렉서를 작성하려고합니다. 지금까지 단 한 줄 주석 색칠 만했습니다. 그것은 효과가 있지만, 문제는 색칠이 새 라인이 끝난 후에도 끝나지 않는다는 것입니다. 프로그램을 디버깅하면서, StyleContext 클래스에 속한 Match() 멤버 함수가 개행 문자를 인식하지 못한다는 것을 알게되었습니다. 왜 그래야만하지? 이 문제를 해결하려면 어떻게해야합니까? 여기에 코드의 관련 부분은 다음과 같습니다신틸라가 줄 바꿈을 인식하지 못합니다.
case SCE_DD_COMMENT:
if (scCTX.Match('\n') || scCTX.Match('\r')) {
scCTX.Forward();
scCTX.ForwardSetState(SCE_DD_DEFAULT);
}
break;
불행하게도, 직접 비교 중 하나가 작동하지 않는 것보십시오. – NewGuy
이 노드가 없거나 무시 될 수 있습니다. 이 이외의 가능한 코드를 확인하십시오. – ydoow
알아 냈습니다. Forward()에 대한 추가 호출이 내 코드 어딘가에서 ch 변수를 기본값으로 설정했습니다. 바보 나! :) 당신의 도움을 주셔서 감사합니다! – NewGuy