syntax 2

[컴파일러 이론] 7. Semantic Analysis

lexical analysis와 syntax analysis를 통과했다고 그 코드가 멀쩡한 것은 아니다. 예를 들면,a=3; 이런 코드는 문법상 문제가 없지만 이전에 a가 선언되지 않았다면 에러가 발생해야한다.또는 함수이름은 func(0);처럼 사용해야하지만 func=0;이라고 사용하는 에러도 있을 수 있다.문법상 func도 변수의 이름이 될 수 있기 때문에 이전 단계에서는 탐지할 수 없기 때문이다. 어쩃든 이제 이런 의미적인 부분을 따지는 Semantic Analysis를 알아보자. Semantic AnalysisSemantic Analysis에는 크게 두 종류가 있다. 1. 범위(scope)와 관련된 분석2. 타입(type)과 관련된 분석Scope코딩을 하면서 기본적으로 알고 있던 scope의 개념과..

CS/컴파일러 2025.12.25

[컴파일러 이론] 4. Top Down Parsing, LL(1) Grammar

이전글에 이어서 Parser를 계속 알아보자. 2025.11.23 - [컴파일러] - [컴파일러 이론] 3. Syntax analysis, Parser, CFG, Parse Tree, AST [컴파일러 이론] 3. Syntax analysis, Parser, CFG, Parse Tree, ASTSyntax analysis, Parser이번글은 syntax analysis에 대해 알아보자.코딩을 할때 개발자들을 괴롭히는 syntax error 라는 에러메세지는 많이 보았을 것이다. 이번글은 이와 관련된 것이다.이전글들에서 얘기한april2901.tistory.com이번 글의 목적은 CFG로부터 Parse Tree를 만드는 것이다. Top Down Parsing먼저 top down parsing이 뭔지 알..

CS/컴파일러 2025.11.27