[컴파일러] LR 파서 문제 풀이
·
IT/CS 공부
안녕하세요 밥한그릇입니다. 컴파일러 과목의 LR(top-down) 파서 문제풀이 포스팅에 이어, LR (bottom-up) 파서 문제풀이 포스팅을 작성해보려합니다. https://nsa901.tistory.com/114 [컴파일러] LL 파서와 LR 파서 안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한 컴파일러 과목의 기말고사 시험이 끝난 지 이틀이 지났네요.. 시간을 많이 들여 강의노트를 정리한 페이지를 만들고, 거의 통째로 외 nsa901.tistory.com 앞선 개념 내용은 이전 포스팅에 설명해두었으니, 참고하시면 좋습니다. 이 포스팅에서는 parsing table일 이용해 LR 파서가 동작하는 예제를 풀어보는 시간을 갖겠습니다. 자 그럼, 시작합니다. 우선, 알고있어야할 한가지는 LR ..
[컴파일러] LL(1) 파서 문제 풀이
·
IT/CS 공부
참고로, LL(1) 파서는 한 글자만 내다보고 parsing 을 수행한다는 뜻입니다. k 글자까지 내다본 뒤 parsing을 수행하는 경우 LL(k) 파서라고 불립니다. 저는 이 포스팅의 예시 문제에서 predictive parser, 그러니까 non-deterministic LL 파서만 다룰 것입니다. 또, non-terminal과 terminal, 그리고 문법으로 non-terminal에서 terminal을 유도(derivation)하는 내용에 대해 대략 안다고 가정하고 설명하겠습니다. 기본적인 개념 내용은 제 이전 포스팅에서 설명해놓았으니 참고바랍니다. https://nsa901.tistory.com/114 [컴파일러] LL 파서와 LR 파서 안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한..
[컴파일러] LL 파서와 LR 파서
·
IT/CS 공부
안녕하세요 밥한그릇 입니다. 제가 이번에 학교에서 수강한 컴파일러 과목의 기말고사 시험이 끝난 지 이틀이 지났네요.. 시간을 많이 들여 강의노트를 정리한 페이지를 만들고, 거의 통째로 외우다시피 시험 준비를 했어요. 그렇지만 불행하게도 강의노트에 잘 적혀있지 않은 부분들에서 기말 고사 문제가 많이 나와서 슬펐습니다. (ㅠㅠ) 제가 강의노트의 어려운 예제들을 풀고 이해하는 데 들었던 시간이 상당했었거든요. 인터넷에도 친절히 설명하는 자료가 거의 없었어서 더욱 그랬죠. 그래서 "예제를 이해하고 공부한 내 노력이 아까우니, 따로 예제들을 쉽게 풀이하는 포스팅을 만들어보자!"는 생각이 들었습니다. 아무래도 과목 진도 상 중후반쯤에 위치한 내용에다가 그 분량이 많아요. 그러니 컴파일러 과목의 앞부분에 대한 기초 ..
[데이터 사이언스 / R] 결측치와 이상치(극단치)를 처리하는 방법 (예시)
·
IT/Data & AI
안녕하세요 밥한그릇입니다. 오늘은 R언어에서 데이터 분석을 할 때, 결측치와 이상치를 처리하는 간단한 방법들에 대해 알아볼거에요. 이 과정은 데이터 전처리 중, 데이터 정제 과정에 속합니다. 결측치는 데이터 분석 시 값을 처리할 수 없어 필수적으로 처리해야하고요. 극단치(=특이치, 이상치)는 데이터의 분포 및 평균을 왜곡하는 경우가 많아 이것도 처리하는 게 좋습니다. 극단치에 의한 통계 왜곡의 대표 사례로는, 미국의 노스캐롤라이나 대학의 졸업생 연봉(초봉)평균의 사례가 유명합니다. 졸업생들의 평균이 가장 높은 학과가 지리학과로 한화로 평균 1억이 넘는 연봉을 기록했는데요. 어떻게 지리학과에서 이렇게 많은 연봉을 받나 원인을 알아보니, 전설적인 농구선수 마이클 조던의 연봉 때문에 평균이 덩달아 저렇게 올라..
[데이터 사이언스 / R] 주성분 분석(PCA), 활용 예시 (feat. k-means 군집화)
·
IT/Data & AI
안녕하세요 밥한그릇입니다. 요즘 과제나 배우는 내용이 많아 바쁘다보니, 오히려 포스팅을 자주 못하게 되는 것 같네요. 그러나 공부하던 중 인상깊었던 지식을 공유하고 싶어 포스팅을 씁니다. R로 데이터 분석을 하다보면, 가장 중요한 과정 중 하나가 변수 선택이죠. 데이터셋에 있는 여러 변수 중 결과에 영향력 있는 변수들만 따로 뽑아, 그걸로 모델을 학습시켜야하니까요. 그렇게 선별한 변수 집합에 서로 다중공선성이 있는 변수들이 포함되거나, 결과와 상관도가 낮은 변수들이 많으면 모델의 성능 및 분석의 정확도가 떨어질 수 있습니다. 그래서 변수의 수는 적게, 성능은 높게 해줄 변수 집합을 찾아야해요. 이 과정에서 사용할 수 있는 방법 중 하나가 PCA 분석입니다. PCA 분석을 통해 차원 축소를 하여, 변수 개..
[Go] 고 루틴(go routine)의 활용 - 기초
·
IT/개발 언어 및 도구
go 언어를 처음 배우는 분들께 고루틴과 그 활용에 대해 아주 기초적인 설명을 한다고 가정하고 설명합니다. 반응이 있으면 응용편 심화편도 만들 계획이에요. 지적 및 질문은 댓글 달아주세요. 댓글 환영합니다! 고 루틴 (go routine)이 대체 뭘까? go 언어를 배우기 시작한 분이라면, 한번쯤은 들어보았을 것이 고 루틴(go routine)입니다. 그럼 이 고 루틴이라는 것이 대체 뭘까요? 스레딩 고 루틴을 알려면 스레딩을 먼저 이해해야 합니다. 쉽게 설명해보자면, 예시를 한번 들어볼 수 있겠네요. 혼자 그림을 그려야하는 웹툰작가가 있다고 해봅시다. 이 작가는 일을 마치기까지 매우 힘들어할 뿐더러 작업 속도가 오래 걸리겠죠. 이때 작업을 보조해주는 어시스턴트 일꾼들이 들어오면요? 동시에 일을 진행하므..