구문 분석 및 의미 분석이 어떻게 작동하는지 궁금합니다.구문 분석 및 의미 분석
필자는 통역사의 렉서 및 문법 구성을 마쳤습니다.
는 지금이 문법 예를 들어에 대한 재귀 하강 (위에서 아래로) 파서를 구현하기 위하여려고하고있다, 나는 다음과 같은 문법이 : 자바 (
<declaration> ::= <data_type> <identifier> ASSIGN <value>
그래서 내가 이런 식으로 코딩을) :
public void declaration(){
data_type();
identifier();
if(token.equals("ASSIGN")){
lexer(); //calls next token
value();
} else {
error();
}
}
나는 Int, String 및 Boolean의 세 가지 데이터 유형이 있다고 가정합니다. 각 데이터 유형의 값이 다르므로 (부울에서만 true 또는 false) 데이터 유형에 맞는지 어떻게 판별 할 수 있습니까? 내 코드의 어떤 부분이이를 결정합니까?
이1.) call the semantic analysis part of my program.
2.) store my variables into the symbol table.
구문 분석, 의미 분석이 동시에 발생 함 : 나는에 코드를 삽입 할 경우
궁금? 또는 구문 분석을 먼저 완료 한 다음 의미 분석을 수행해야합니까?
나는 정말로 혼란 스럽다. 도와주세요.
감사합니다.