2017-04-20 11 views
0

나는 원하는 문법으로 작성된 코드 조각을 파싱하려고하는데 매번 구문 오류가 발생합니다. 나는 10 번 이상 내 코드를 검사했고 해결책을 찾지 못했습니다. PARSERLEXER 코드는 bison과 jflex가 각각 생성합니다. 왜냐하면 긴 github에 대한 링크가 있어야하기 때문입니다. 여기에 간단한 코드 조각이 있지만 프로그램을 실행할 때 구문 오류가 발생합니다.파서에서 알 수없는 구문 오류를 해결하는 방법은 무엇입니까?

program firstProgram 
main 
{ 

} 

이 질문에 도움을 주셔서 감사합니다.

+0

@rici이 분야의 전문가입니다. 이걸 좀 도와 주실 래요? – aligholamee

+0

'statement_list'는 빈 문자열을 생성하지 않으므로'{}}는'block'에 의해 생성되지 않습니다. (내가 이미 제안했다고 믿기 때문에 문법 파일에서 과도한 문구를 모두 삭제하면 쉽게 볼 수 있습니다.) – rici

답변

1

우선 Bison과 Lex의 환경 설정을 모두 설치해야합니다. 그 후 프로그램을 실행하기 전에 2 개의 파일이 필요합니다. 토큰을 선언 한 확장명이 ".l"인 첫 번째 파일과 확장명이 .cpp 인 두 번째 파일은 해당 출력을 사용하여 원하는 출력을 얻습니다. 내 코드에서 단서를 얻을 수 있습니다. 여기에 [https://github.com/jotpandher/Flex-Bison-task][1]