[2년 OS개발] [2회] 딴짓 시작, 인터프리터 개발

in #kr6 years ago (edited)

안녕하세요. @u robotics입니다.
OS개발이 무려 1 주가 지났는데
별로 업그레이드 된 것이 없군요.

심지어 툴도 제대로 설치를 못했습니다.
그래도 괜찮아요.
어차피 2020년 6월 1일까지니깐 시간이 많은 것 같아요.
무려 105번이네요. 105주 동안요.
아 한 번 했으니깐 이제 104번 남았나요. 아무튼.

많이 남았으니깐
편하게 작업하면 될 것 같습니다.

그래서 그런지 이상한 곳에 눈이 갔어요.

인! 터! 프! 린! 터!

122.jpg

어차피 시간 많은데
이것저것 읽어보면서 만들자 싶어서
이 책을 한 번 읽어보기로 했습니다.
이 책은 딱 봐도 엄청난 명서에요.
정말 쉽고 간결하게 써져있습니다.

저자이신 하야시 하루히코 님 그리고 역자이신 김성재님
그리고 출판사인 한빛 미디어에 감사 드립니다.

이 책 첫머리에 이렇게 나와있어요.
인터프리터는 컴파일러와 비교하여 어느정도 부담 없이 개발할 수 있다.
그 이유는 컴파일러는 프로그램 실행에 관한 정보를 생성하는 출력 코드에 모두 반영해야 하지만,
인터프리터는 실행에 관한 정보 대부분을 인터프리터 내부에서 관리하기 때문이다.

ㅇ_ㅇ;;; 대단합니다.
인터프리터 개발이 쉽다고 할 정도의 엄청난 실력. 저도 갖고 싶네요.

인터프리터 개발은 기본적으로 컴파일러 개발과 같은 이론을 사용한다.
컴파일러 개발 기법에서 어휘 분석이나 구문 분석 분야는 잘 연구되어 있고 이론서도 많다.
한 권 쯤 읽어두면 좋다.

인터프리터 개발에 대해서
조금 검색도 해보기로 합니다.

검색을 통해 kldp.org에 가봤습니다.
이 글이 눈에 띄어서 읽어봤어요.

https://kldp.org/node/141275

인터프리터 만들기전에
먼저 스택 계산기부터 만들어보라고 하시는군요.

인터프리터 만들기전에
먼저 스택 계산기부터 직접 만들어보세요.
그 다음 완벽하게 이해가 되면,
간단한 언어를 선정해서 역시 직접 recursive descent parser를 만들어보세요.
만들면서 틈틈히 필요할때마다 automata 공부를 하게되면,
인터프리터 기본기는 익힐 수 있을겁니다.

스택계산기 => 파서 => 오토마타
이것이 인터프리터 만드는 기본기라고 하시는 것 같습니다.

다시 책으로 돌아가보니깐,
C++ 코딩이 나옵니다.
개발툴을 또 뭘로 쓸까 생각하다가
그냥 visual studio code를 선택했는데요.
c언어는 c 파일인데,
c++언어는 cpp 파일이거든요.
그것도 기억이 안 날 정도로
오랫동안 안 했네요. ㅋㅋㅋ
어언 10년이 넘은 기억. ㅋㅋㅋ

아무튼 그건 또 안 맞는 것 같아서
visual studio 2017을 선택했어요.
뭐가 다른지는 모르겠는데요.
이걸 하면 일단 쓸 수나 있지 않을까 싶어서요.

바로가기를 클릭해서 들어가보니깐
또, 5분 만에 앱 만들기가 있어서 클릭해봤습니다.
https://docs.microsoft.com/ko-kr/aspnet/core/tutorials/first-mvc-app/start-mvc?tabs=aspnetcore2x&view=aspnetcore-2.1

ASP.NET Core MVC 및 Visual Studio 시작 이라고 나오는데요.
뭔지는 모르지만,
일단 시작해봅니다.

Visual Studio 및 .NET Core 설치
ASP.NET Core 2.x
아무거나 하나만 설치하세요.

  1. CLI 툴=> Windows, Linux, or macOS: .NET Core SDK 2.0 or later
  2. IDE/에디터 툴 =>
    Windows: Visual Studio for Windows
    ASP.NET and web development workload
    .NET Core cross-platform development workload
    Linux: Visual Studio Code
    macOS: Visual Studio for Mac

비쥬얼 스튜디오가 있으니깐 됐네요.
진행합니다.
(없으시면 비쥬얼 스튜디오 검색하셔서 설치해주세요.
공짜일 겁니다 아마)

비쥬얼 스튜디오에서
웹앱 만들기
Visual Studio에서 파일 > 새로 만들기 > 프로젝트를 선택합니다.

아, 이건 설치가 너무 오래 걸려서 실패. ㅋㅋㅋ

다시 인터프리터를 만들 수 있는
c++ 개발 툴을 찾아봅니다.

저는 OS가 윈도우즈 환경이라서
visual studio, visual studio code, 이클립스, Clion 정도가
c++에 맞는 개발툴인 것 같습니다.

visual studio 쪽은 안 익숙해서 힘들긴 하지만
그래도 한 번 써보기로 하겠습니다.

진도를 별로 못 뽑았고,
역시 개발툴도 선정하지 못했지만 ㅋㅋㅋ

오늘은 여기까지...
아직 103번이 남았으니깐
어떻게든 잘 되겠죠 ㅋㅋㅋ

[2년 OS개발] [1회] PC 구조부터 어셈블리 입문까지
https://steemit.com/kr/@urobotics/2-os-ch-01-pc-1

감사합니다.

Sort:  

이 책 관련해서 꾸준히 올려주시는건가요?ㅎㅎ 멋집니다 ~~ 나머지 103번개 포스팅도 기대합니다ㅋㅋ

minhan 꾸준한지는 모르겠고요 ㅎㅎ 이번엔 이 책을 건드려 봤습니다. 종합적으로는 OS개발인데요. OS개발 할 때 여유가 좀 있는 것 같아서 이것저것 뒤적거려 볼려구요. 기대해주셔서 정말 고맙습니다. 정리될 때마다 조금씩 또 올리겠습니다 ㅋㅋㅋ

topyo7777 님 감사합니다. 6월 한달 정말 최고 멋지게 보내봐요 ㅋ

os 쉽지않는 개발의 여정이 될 듯 싶네요.

예 codingman 님 2회까지는 전혀 개발이 안 되고 있어요. ㅋㅋㅋ 그래도 조금씩 아는게 늘고 있기 때문에, 3회부터는 뭐라도 되지 않을까 기대합니다.

짱짱맨 호출에 출동했습니다!!

고맙습니다. ㅎㅎㅎ

Coin Marketplace

STEEM 0.35
TRX 0.12
JST 0.040
BTC 70601.11
ETH 3576.21
USDT 1.00
SBD 4.78