컴퓨터공학/컴파일러(compiler)
-
lex 사용법컴퓨터공학/컴파일러(compiler) 2019. 9. 22. 15:55
token을 자를 때 get_token() 과 같은 프로그램을 손수 작성할 수도 있다. int a ; 위의 한 줄을 분석하기 위해선 `int`, `a`, `;` 세개의 토큰으로 잘라야한다. 이를 편하게 lex 프로그램을 사용하면 세 개의 토큰을 손쉽게 얻을 수 있다. c언어로 "int a ;" 토큰으로 자르는 것을 만들어 보면 필요성을 느끼게 된다. 또한, c언어에서 분석할 토큰이 매우 많기 때문에 각 토큰을 잘 이해한 후에 lex를 잘 사용하는 것이 중요하다. c언어는 recursive descent parsing 방법으로 컴파일러를 만들기에는 안되는 문법 사항들이 존재한다고 한다. 따라서 parsing table을 이용하는 LR Parsing 방법을 사용해야 한다. 이를 위해 yacc를 통해 prod..