문제

AT 명령을 보낼 때 일반적으로 으로 종료되지만 실제로는 두 개의 '레지스터 변수' S3 및 S4입니다.

기본적으로 S3==' ' 및 S4==' '이지만 사용자는 런타임에 ATSx= 명령을 사용하여 이를 변경할 수 있습니다.

Antlr 어휘분석기/파서에서 이를 어떻게 처리할 수 있나요?

각 명령의 형식은 AT[parameters]S3S4입니다. 사용자가 S3 또는 S4의 값을 변경하는 경우 이를 어떻게 처리할 수 있습니까?

어떤 도움이라도 미리 감사드립니다...

도움이 되었습니까?

해결책

아니요, 어휘분석기 또는 파서 규칙 AFAIK를 동적으로 변경하는 옵션은 없습니다.물론, 레지스터 변수를 변경할 때 어휘분석기/파서를 다시 생성하는 것과 같은 해결 방법이 있지만 그다지 좋지는 않을 것 같습니다...


편집하다

멍청이가 썼다

lexr 및 poarser를 다시 생성합니다(음, lexer만 해당되는 것 같습니다). 이에 대해 자세히 알아볼 수 있나요?

원본 문법 파일을 다시 작성하고(정확하게 언급한 대로 어휘 분석기 규칙만) 즉시 다시 컴파일합니다.보다: http://java.sun.com/javase/6/docs/api/javax/tools/JavaCompiler.html

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top