[컴파일러개론] syntax_derication (구문과 유도)
·
CS/컴파일러개론
구문분석이란?어휘분석기가 생성한 토큰을 기반으로 구문분석기(파서)가 문법이 맞는지 확인하고, 각 단어의 역할을 확인하여 파스트리를 만드는 것을 syntax analysis 즉 구문분석이라고 한다. 프로그래밍 언어 제작자가 문법을 기술하는 방법 CFG(Context Free Grammar)언어의 문법을 정의하는 일반적인 방법이다. 간단하고 이해하기 쉬우며, 표현된 문법으로부터 자동적으로 인식기를 구현 가능하다. G = (N, T, P, S)N: non terminal 심벌 집합 (중간 과정 심벌)T: terminal 심벌 집합P: 생성 규칙 집합S: 시작 심벌L(G): 이 문법으로 생성되는 language 문법 심벌들Terminal 심벌 (T)a,b,c와 같은 알파벳 시작 부분의 소문자와 숫자 0,1,..
[컴파일러개론] Lexical Analysis (어휘분석)
·
CS/컴파일러개론
어휘분석이란?원시 프로그램을 긴 문자열로 보고 차례대로 문자를 검사하여, 의미 있는 최소 단위들로 변환하는 것이다. space 같은 것들을 제거하여 코드의 크기도 줄인다. 이때 문법적으로 의미있는 최소 단위를 토큰(Token)이라 한다.식별자: x, y123, ...키워드: if, else, while, for, ...상수: 2, 1000, -20, 2.0, -0.01, ...연산자: +, *, {, ++, 문자열: "x", ... 프로그래밍 언어 제작자가 토큰을 기술하는 방법프로그래밍언어 제작자는 정규표현식 (regular expression)을 사용해서 토큰을 설명한다.a: 일반 문자ε: 빈 스트링R|S: R이거나 S일 때RS: R 다음에 S가 나올 때R+: R이 1번 이상 나올 때R*: R이 0..
[컴파일러개론] 개요
·
CS/컴파일러개론
개요- 컴퓨터의 언어인 2진수를 사용하면, 모든 프로그램이 0과 1의 전쟁이므로 불편함- 어셈블리를 사용하면 2진수를 사용하지 않고 기호로 표기할 수 있으나, CPU가 달라지면 코드를 다시 짜야하는 불편함이 존재 이러한 이유로 고급언어가 탄생했다. 고급언어는 0/1 신경쓰지 않고, 기계마다 다르지도 않고 영어와도 비슷하다. 단 이를 번역하는 프로그램이 조금 복잡한 일을 해야하는데, 이때 번역기를 '컴파일러'라고 한다. (꼭 기계어로만 번역되는 것은 아님) 컴파일러란?한 언어로 쓰여진 프로그램(source program)을 읽어서 다른 언어로 된 의미가 같은 프로그램(target program)으로 번역해주는 프로그램을 말한다. - 고급언어를 저급언어로 번역하면 Compiler- 동일 언어로 옮기면 R..
[서평] #100일챌린지 - 작은 도전이 만들어낸 큰 변화
·
기타/서평
Z세대 문과생에서 소프트웨어 엔지니어가 되기까지, 챗GPT와 함께한 작지만 특별한 100일의 기록 인스타그램을 보던 중 우연히 광고에서 이 책을 보게 되었다. 인문대생으로 코딩을 배우며 GPT와 함께 살아가고 있는 나는 이 제목을 그냥 지나칠 수 없었다. 따라서 망설임 없이 서평단에 지원했고, 운 좋게 선정되어 가제본 도서를 받아보게 되었다. 책은 대학생활을 흘러가듯 하던 주인공이 수업을 통해 우연히 ChatGPT를 활용하게 되는 이야기로 시작된다. 수업 과제를 수행하기 위해 ChatGPT에게 파이썬 코드를 요청했던 주인공은 순식간에 결과물이 완성되는 모습에 놀라게 된다. 이를 계기로 과거에 접했던 오셀로 게임을 직접 만들어 보고자 ChatGPT의 도움을 받게 되고, 그 과정에서 흥미를 느껴 본격적인 ..
[의미론] 전제(presupposition)
·
언어학/의미론
전제(presupposition)하나의 문장이 의미적 정당성(진리치)을 갖기 위하여, 이미 참임을 보장된 다른 명제 ex) p: 영서가 창수와 결혼한 것을 후회한다.ex) q: 영서가 창수와 결혼했다.p는 단언으로, 참일 수도 거짓일 수도 있다. 그러나 p의 진리치를 결정하기 위해 q가 참임이 보장되어야 한다p는 q를 전제(presuppose)하고, q는 p의 전제(presupposition)이다.전제하는 문장은 진리치(T or F)만 가지면 된다. 전제인 문장만 T면 된다.부정을 붙여도 전제는 유지가 된다. (취소 x) 전제의 진리표p qT->TF->T T V FT?(T V F)F전제가 거짓이라면, 전제하는 문장은 진리치를 따질 수 없다.전제의 생성 전제 유발 표현(presupposition trigg..
[의미론] 명제와 함의
·
언어학/의미론
명제(proposition)문장이 세상에 대해 말하는 것을 참/거짓으로 지정자연언어에서 명제는 진술문(statement), 평서문(declarative sentence)참/거짓을 따질 수 있는 진리치를 지닌다.진리치를 결정하기 위해서는문장의 의미를 알아야 한다실제 세계의 상황과 대응해봐야 한다. 진리조건(truth-condition)문장(명제)의 진리치가 참이 될 수 있는 조건ex) "It is raining"true: 실제 비가 옴false: 실제 비가 오지 않음 함의(entailment)어떤 문장의 의미 속에 포함된 다른 의미 ex) p: 철수가 유리창을 깨뜨렸다 / q: 유리창이 깨졌다.어떤 사람이 p를 말하고 그것을 우리가 사실로 믿는다면 말을 하지 않아도 q가 사실임을 알 수 있다.p가 참이면..