본문 바로가기
반응형

lex2

[컴파일러설계] Yacc를 이용한 C 어휘분석기 구현 컴파일러 설계 1. 개요(목적) 전에 만들었던 Lex는 단어들을 인식하게 만들었다. C언어의 명령어들을 인식하게 만들어서 C의 명령어나 심볼들을 인식했다고 출력만 하게 만들었다. 이번에는 yacc를 이용하여 더 체계화된 C 컴파일러를 만들어 볼 생각이다. 처음에 사측연산부터 시작해서 C명령 구문인 if, while, switch case, for, print과 같은 명령문도 만들어 볼 계획이다. 실제로 입력을 하면 인식했다고 출력이 아닌 다음 구문을 분석해 실제로 조건문이나 반복문을 실행하여 출력해주는 프로그램을 만들 것이다. 2. 구현 내용 - 실 행 lex Compiler.l yacc -d y.y gcc lex.yy.c y.tab.c ./a.out ① LEX를 이용해서 값이 오면 인식하고 그 값을 반.. 2018. 12. 9.
[컴파일러 설계] Lex를 이용한 C 어휘분석기 구현 컴파일러 설계 1. 개요(목적) Lex를 이용해서 단어들을 인식하게 만든다. C언어의 명령어들을 인식하게 만들어서 C의 명령어나 심볼들을 출력하게 만든다. 그 외 변수나 숫자(정수, 소수 등) 인식하게 만든다. 함수를 이용해서 C 명령문을 실제로 동작하게 만들어본다. 더 나아가가 따로 Yacc의 함수를 만들어서 숫자들을 인식하여 간단한 사측연산을 할 수 있게 만든다. 2. 구현 내용 ① LEX를 이용해서 값이 오면 인식하고 그 값을 반환하는 것을 구현. ▶ Symbol : +, -, *, /, \, \n, if, else, while, for, char, int, double, identity(식별자) return 등을 인식하게 만들고 인식이 되면 출력. (if) (for) (while) ( ) { } .. 2018. 12. 9.
반응형