클라이언트와 서버간에 요청 - 응답 시퀀스를 만들려고했습니다. flex와 bison 문법을 사용하고있는 메일을 구문 분석합니다. 다른 문법에서 규칙을 재사용하는 것과 관련하여 질문이 있습니다. 예 I 요청 메시지Bison 및 Flex 문법에서 규칙 재사용
request_message:
|request_header_list request_hdr
이다
req_message:
request_message
|response_message
|error
;
및 request_hdr 등 처리 요구에 대한 문법이 있으면 제가
같은 문법이 응답request_hdr:
accept
|accept_language
|bandwidth
|user_agent
|session
|cseq
|cache_control
..
;
유사하다
response_header:
cseq
|session
|range
|public
|server
|content_type
..
;
cseq
을 구문 분석 할 때 하나의 규칙 만 정의했습니다. 이 규칙은 요청을 구문 분석하는 동안 잘 작동합니다. 그러나 응답을 구문 분석하는 동안 규칙이 표시되지 않습니다. 비슷한 규칙이 다른 문법에 사용할 수 없습니까? 요청을 위해 작동하고 응답을 위해 작동하지 않는 이유는 무엇입니까? 렉스 쪽에서, 내가 lexims를 파싱 할 때 문제가 없다는 것을 발견했다면, cseq token
을 yacc에 반환 할 수 있습니다.
response_header는 응답 메시지 전송의 일부입니다 ... 질문에서 정의하지 않았습니다. 요청 헤더와 응답 헤더에는 두 필드가 모두 포함 된 다른 필드가 포함되어 있습니다. – jithin