본문 바로가기

전체 글

(107)
Lec11. Semantic Analysis (2) - 11주차 2강, 12주차 2강 11주차 2강, 12주차 2강 11/13, 11/2011/18은 휴강 lec10에서 언급한 내용임Abstract Interperetation의 주요 단계abstract domain: 변수는 구체적인 값 대신 추상화된 값으로 표현 됨변수의 값이 가질 수 있는 범위 또는 특성을 정의, 구간 / 옥타곤, 짝홀 등구체적인 의미로는 7에 2를 더하면 9가 되지만, 추상적인 의미로는 홀수에 2를 더하면 홀수이다연산, 불리안 판별, command 처리에 대한 simple language 만드는 과정추상 도메인 개요새로운 기호들이 등장하는데, 본문 슬라이드 내용과 같고이상하게 생긴 육각형은 맨위의 any부터 시작해서 아래로 뻗어나오는 tree처럼 생각하면 됨any: 모든 값 포함non-pos: 0 또는 음의 정수, n..
Lec10. Semantic Analysis (1) - 11주차 1강 11월 11일, 11주차 1강* 개인 공부를 위해 정리한 것입니다. 정확한 내용은 꼭 본인이 공부하는 교재를 참고하시기 바랍니다.  soundness: 정확성분석기가 p가 안전하다고 생각하면, 실제로 p는 안전해야 한다만약 p가 안전하지 않다면, 분석기는 반드시 unsafe로 판단해야 한다분석기가 error를 놓치지 않아야 한다. no false negativecompleteness: 완전성p가 실제로 안전하다면, 분석기는 반드시 p의 안전성을 증명해야 하낟분석기가 p를 unsafe로 판단했다면, p는 실제로 안전하지 않음분석기가 안전한 프로그램을 위험하다고 판단하지 않아야 한다. no false positive이상적인 분석기: no false negative, no false positivehard l..
Lec09. Lexer & Parser Generators - 10주차 2강 11월 6일 - 10주차 2강* 개인 공부를 위해 정리한 것입니다. 정확한 내용은 꼭 본인이 공부하는 교재를 참고하시기 바랍니다. Goal: Useful Tools for Compiler ConstructionLexing and Parsing algorithmLexer: Thompson 알고리즘 및 Subset 구성Parser: top-down, bottom-up컴파일러 제작 도구lexer, parser 수동으로 안만들어도 됨. ocamllex, ocamlyacc로 자동화 가능ocamlyacc: LALR, OCaml용 parser 생성기(구문분석기)ocamllex: OCaml용 lexer 생성기(어휘분석기)Compiler Construction with ocamllex and ocamlyacc전반적으로 ..