[2년 OS개발] [2회] 딴짓 시작, 인터프리터 개발
안녕하세요. @u robotics입니다.
OS개발이 무려 1 주가 지났는데
별로 업그레이드 된 것이 없군요.
심지어 툴도 제대로 설치를 못했습니다.
그래도 괜찮아요.
어차피 2020년 6월 1일까지니깐 시간이 많은 것 같아요.
무려 105번이네요. 105주 동안요.
아 한 번 했으니깐 이제 104번 남았나요. 아무튼.
많이 남았으니깐
편하게 작업하면 될 것 같습니다.
그래서 그런지 이상한 곳에 눈이 갔어요.
인! 터! 프! 린! 터!
어차피 시간 많은데
이것저것 읽어보면서 만들자 싶어서
이 책을 한 번 읽어보기로 했습니다.
이 책은 딱 봐도 엄청난 명서에요.
정말 쉽고 간결하게 써져있습니다.
저자이신 하야시 하루히코 님 그리고 역자이신 김성재님
그리고 출판사인 한빛 미디어에 감사 드립니다.
이 책 첫머리에 이렇게 나와있어요.
인터프리터는 컴파일러와 비교하여 어느정도 부담 없이 개발할 수 있다.
그 이유는 컴파일러는 프로그램 실행에 관한 정보를 생성하는 출력 코드에 모두 반영해야 하지만,
인터프리터는 실행에 관한 정보 대부분을 인터프리터 내부에서 관리하기 때문이다.
ㅇ_ㅇ;;; 대단합니다.
인터프리터 개발이 쉽다고 할 정도의 엄청난 실력. 저도 갖고 싶네요.
인터프리터 개발은 기본적으로 컴파일러 개발과 같은 이론을 사용한다.
컴파일러 개발 기법에서 어휘 분석이나 구문 분석 분야는 잘 연구되어 있고 이론서도 많다.
한 권 쯤 읽어두면 좋다.
인터프리터 개발에 대해서
조금 검색도 해보기로 합니다.
검색을 통해 kldp.org에 가봤습니다.
이 글이 눈에 띄어서 읽어봤어요.
인터프리터 만들기전에
먼저 스택 계산기부터 만들어보라고 하시는군요.
인터프리터 만들기전에
먼저 스택 계산기부터 직접 만들어보세요.
그 다음 완벽하게 이해가 되면,
간단한 언어를 선정해서 역시 직접 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
아무거나 하나만 설치하세요.
- CLI 툴=> Windows, Linux, or macOS: .NET Core SDK 2.0 or later
- 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
감사합니다.
이 책 관련해서 꾸준히 올려주시는건가요?ㅎㅎ 멋집니다 ~~ 나머지 103번개 포스팅도 기대합니다ㅋㅋ
minhan 꾸준한지는 모르겠고요 ㅎㅎ 이번엔 이 책을 건드려 봤습니다. 종합적으로는 OS개발인데요. OS개발 할 때 여유가 좀 있는 것 같아서 이것저것 뒤적거려 볼려구요. 기대해주셔서 정말 고맙습니다. 정리될 때마다 조금씩 또 올리겠습니다 ㅋㅋㅋ
topyo7777 님 감사합니다. 6월 한달 정말 최고 멋지게 보내봐요 ㅋ
os 쉽지않는 개발의 여정이 될 듯 싶네요.
예 codingman 님 2회까지는 전혀 개발이 안 되고 있어요. ㅋㅋㅋ 그래도 조금씩 아는게 늘고 있기 때문에, 3회부터는 뭐라도 되지 않을까 기대합니다.
짱짱맨 호출에 출동했습니다!!
고맙습니다. ㅎㅎㅎ