1. 목적 Assembly directive에 서술되어 있는 문장을 해석하여 심볼테이블을 만들고 C의 언어로 출력한다.2. 과제(1) base64.s에 나와 있는 symbol(__base64_table, reverse_table.0, table_built.1, .LC0, .LC1, main 등)들을 저장하는 symbol table의 데이터 구조를 제시하시오.(2) 제공된 parse.y에 (1)에서 제시한 symbol table을 구현하고 symbol table의 내용을 C 언어 문법으로 출력하시오.(3) 구현된 symbol table을 이용하여 code상에서 ID등의 symbol이 정의되어 있는지를 점검하는 semantic analyzer를 구현하시오.구현을 위하여 공개된 code를 프로젝트에 맞게 수정하여 사용하여도 됩니다
1. 목적 주어진 code를 이용하여 tree IR을 build하고 출력하는 code를 작성한다.2. 과제(1) 주어진 코드에서 parse.y를 이용하여 tree IR 구조를 제안하고 tree order walk를 사용하여 assembly를 출력하는 code를 생성하시오. 출력은 global symbol table, 각각의 function과 assembly code의 pair 형태로 출력하시오.global symbolfunc0 decfunc0 codefunc1 decfunc1 code ....(2) Symbol table에서의 entry를 C언어의 형태로 변환하는 방법을 제시하고 구현하여 symbol table 출력시 나타낼 수 있도록 하시오.
1. 목적 주어진 code를 이용하여 base64.s를 C 언어로 출력하는 backend code를 작성한다.2. 과제(1) (70점) 주어진 코드에서 tree를 출력하는 code를 수정하여 C code로 출력하는 code를 작성하시오.(2) (20점) 생성된 C code를 실행하여 원래의 코드인 base64.c와의 성능을 비교하시오. 이 때 performance profiler를 사용하여 성능 차이가 왜 있는지 자세히 서술하시오.(3) (10점) (2)에서 분석된 성능자료를 이용하여 backend code generator가 어떻게 개선될 수 있는지 논하시오.