컴공 일기228
게시글 주소: https://dev.orbi.kr/00061963695
오랜만에 일기를 쓰네요. 요새는, C/C++로 VM(Virtual Machine)을 제작해보는 개인 프로젝트를 진행 중에 있는데요...
우선 Assembler부터 만들어보고 있습니다. 일종의 기초 번역을 하는 장치를 소프트웨어로 구현해보고 있는 것이지요.
때론 컴퓨터공학을 공부하면서 느끼는 것이 있는데, 이것은 결국 '글쓰기'에 지나지 않는다는 생각입니다. 글을 정말 논리정연하게 잘 쓴다면, 개발하는 과정에서 엄청난 이점을 챙길 수 있다고 생각해요. Assembler를 만들어 보면서 그런 생각이 더더욱 강해지는 것 같습니다. 결국 번역이라는게, 작은 구문들로 나누어서 분석하는 것이라서요.
지금 하고 있는 코드의 일부를 올립니다... 아직 만들어야 할 모듈이 많아요. 그 중 하나가 Paser라는 친구인데, 기본적으로 프로그램 명령어들을 솎아내는 기능을 수행한다고 보시면 될 것 같습니다.
#include "Parser.h"
using namespace std;
Parser::Parser(string& fileName)
{
fin.open(fileName);
if (fin.fail())
{
cout << fileName << "not found." << endl;
exit(1);
}
//Populate the command map table.
commandTable['@'] = 'A';
commandTable['A'] = 'C';
commandTable['D'] = 'C';
commandTable['M'] = 'C';
commandTable['0'] = 'C';
commandTable['1'] = 'C';
commandTable['-'] = 'C';
commandTable['!'] = 'C';
commandTable['('] = 'L';
}
bool Parser::hasMoreCommands()
{
return !fin.eof();
}
void Parser::advance(unsigned long& lineNr)
{
string currentLine;
unsigned long commentPos;
bool commandFound;
commandFound = false;
while (!commandFound && getline(fin, currentLine))
{
lineNr++;
//Remove whitespace.
currentLine.erase(remove_if(currentLine.begin(), currentLine.end(), ::isspace), currentLine.end());
//Remove comments.
commentPos = currentLine.find("//");
//즉 주석문을 찾았다면
if (commentPos != string::npos)
{
currentLine.erase(commentPos, currentLine.length() - commentPos);
}
commandFound = !currentLine.empty();
}
currentCommand = currentLine;
}
char Parser::commandType(unsigned long& lineNr)
{
if (commandTable.find(currentCommand[0]) != commandTable.end())
{
return commandTable[currentCommand[0]];
}
}
0 XDK (+0)
유익한 글을 읽었다면 작성자에게 XDK를 선물하세요.
-
수학 4등급만 받으면 2 0
쫀득하게 인서울 할 수 있는데
-
엘든링 왜 자꾸 멈추지 1 0
컴퓨터 좋은건데 씨발
-
목 졸라줘 5 1
켁켁켁 숨막혀 ㅜㅜ
-
시험지에 따라서 난이도가 가장 극단적으로 달라지는 번호같음....
-
개쉽게 풀리는데 이거 맞나
-
정시로 갑시다 8 0
내신반영을 노려서 내신 깡패 정시러
-
나왔어 12 0
다시감 근데 저게 왜 이륙햇냐
-
갑자기생각난썰 1 1
고1 2학기 학급회장선거때 후보가 2명이엇는데 그 친구들 둘이 합의하고 한명이...
-
그만하고 잘까 1 0
흐름이 끊겨버렷네
-
세기말 수능 1 1
2000학년도 대학수학능력시험
-
강은양t 0 0
현역 고3이고 작년까지 모고 3~4등급 나왔는데 지금부터 강은양t 들으려고 합니다....
-
2시열차 1 0
출발
-
지금 강민철 현강 다니고 있는데 저랑 너무 안맞는 느낌이 심하게 들어서...
-
뭘 해야하나요 0 0
이번에 고등학교 2학년 된 이공계 지망하는 지방 일반고학생입니다. 생기부를 제대로...
-
이게 오르비를 재밌게 오래하려면 10 4
수험생활을 지속해야 함
-
에ㅔㅔㅔㅔㅔㅔㄴ들리스레인ㄴㄴ 0 1
폴온마이헐트 코코로노 키즈니ㅣㅣㅣ
-
내 이상형 중단발에 속눈썹 1 0
-
우와 보추야동 많이떴다 2 2
보다자야지
-
심심한데 무물보 5 0
응애 나 아가학생
-
본인 물1 점수 꼬라지 0 1
3모 48점 (99) 5더프 47점인가였는데 시험이 어려웠어서 전국석차 30등쯤...
-
오후8시부터자다가깼더니 1 0
다시잠이안오네.. 비상..!!
-
생각나는구나
-
ㅇㄴ근데 0학점 패논패과목을 오ㅑㄹ케 빡세게시켜 0 0
그냥 좀 봐주면 안되나
-
시발점 한 다음 스블 0 0
고2이고대수 개념원리, 쎈, 고쟁이 했습니다개정 시발점 사놓은 게 있어서...
-
러셀 외부생 더프 성적표 0 0
문자로 발송되나요?? 아님 직접 찾으러 가야햐나요??
-
원래 사람은 별을 쫓아 달려갈 때 가장 빛나는 법이여설령 닿지 못할지라도적어도 내...
-
저걸 어케 함 진짜 와.. 원과목 중 생1만 수능공부로 안해봤는데 안하길잘한듯
-
시발 나 개폐급임 2 1
조별과제 하는족족 내것만 교수님 피드백 나오고 술처먹다 팀원들한테 자료 제출 개늦게하고 자퇴마렵다
-
딱 한 마디만 하고 자러감 9 3
미쿠 ㅈㄴ 예뻐어~~~~~~~~~~~~
-
중앙대 가기 59일차 3 1
안녕하세요 중앙대29학번 부산사나이 이동현입니다 음 오늘이 벌써 59일차군요...
-
이제 좀 자보실까 11 1
음음
-
리젠존나느리네 1 0
오르비망함?
-
너무멍청해짐 1 0
ㅜㅜㅜㅜㅜ
-
생윤 진짜 1도 모르는 쌩노베인데 누구 듣는 게 좋을가여
-
15살과 엄마 그 사이는 2 0
뭐라함 급함
-
대신 연세대 가겠다 선언
-
작년 10모 20번 0 0
이렇게 푸는거 맞나..?
-
위키하우 도움 ㅈㄴ 안되네 6 0
ㅗㅗㅗㅗㅗㅗ
-
새르비 할수록 4 0
헛소리가 늘어가는듯
-
아니 난 신라면 쳐돌이라 5 0
신라면만 먹는데….
-
내가사실은생명과학을좋아함 1 0
수능말고 그냥생명과학
-
. 11 1
-
님들 최애 과목 말해보셈 7 0
난 국어
-
님들 최애 라면 말해보셈 10 0
난 신라면
-
라면이랑 과자 안먹은지 6일차 2 0
후후
-
자지 버섯 4 0
나는 자연인이다에 나온 버섯입니다
-
통합사회 미녀 선생님 0 0
최성주 쌤 보고 의대 가겠습니다

하 이거보니까 컴공 미치도록 가고싶다
!!
using namespace std;
정말 오랜만에 보내요!
예전에 정올 준비 전에 파이썬은 속도가
너무 느려서 c++로 알고리즘 짜가
; 이 세미콜론? 을 안써서 자꾸
틀리길래 짜증나서 그냥
머신러닝이나 해야겟다 라는 마인드로
파이썬으로 정착하자는 마인드를 가지게 됬는데
여기서 보니 반갑네요 ㅋㅋㅋ
컴공에선 아직 파이썬이 대중화가 안됬나요?
물론 한국이 자바+스프링 민국이라 ..
그리고 C/C++ 이 아무리 근본적인 언어여도
예전에 개발하다가 아는 분들께 들은건
몇몇 대학은 이제 파이썬으로 가고 있다고 하셔서
기분이 너무 좋았는데 아직 C/C++의 왕좌를 이기기엔
역부족이였던거 같네요 ㅋㅋ
화이팅하세요!
아무래도 요새는 웹으로 대동단결 되는 분위기다보니 저희 홍컴 동기들도 우선 JVM 쪽이나 Java를 먼저 공부하는 것 같아요. 파이썬도 물론 쓰이는 곳 많을 것 같구용... 개인적으로 저는 아직 C/C++을 붙잡고 있는 실정이네요 ㅎㅎ 아무래도 C/C++이 메모리에 직접 접근할 수 있는 강력한 권한을 가지고 있기 때문에 그런 것이 아닌가해요 ㅎㅎ
응원 감사드립니다 :)
아 그래도 자바를 누군가에게 배우신다는게
저에겐 너무 부럽습니다..
사실 저는 예전에 형들과 해커톤 나갔을때도
저 혼자 파이썬이라
형들이 메인을 구축하고 저는 그저..
이미 스케치 한 그림에 배경 색칠만 하는 기분이더라구요!
C/C++ 정말 하면 할수록 어렵고
하면 할수록 대단한 언어라는걸 체감 할수록
실력이 느는게 확실히 느껴져서 너무너무 좋은 언어라는건
자명한 사실인거 같아요!
대신 .. 처음에 포인터 에서 저 포함
대부분 C/C++를 처음 다루시는 분들은
정말 머리가 아프더라구요!
언젠가 훌륭한 개발자로써 너무너무 실용적인
프로젝트로 좋은 결과물 내시길 기원합니다!
항상 화이팅 하세요!
p.s 혹시 홍컴에도 중국인 같은 분들처럼
외국인 분들이 많이 재학하시나요?
감사드립니다 :) 홍대는 중국인 유학생분들 많이들 오시는 것 같아요 ㅎㅎ 캠퍼스에 은근히 중국말이 많이 들린달까요 ㅎㅎ

프로그래밍언어 수업때 파서 만들었었는데머리 터지는줄 알았습니다
와 프언... 머리 너무 아프죠 ㅠㅠㅠ

열심히 하시는걸 보니 좋은 개발자가 되실것 같아요 파이팅~감사드립니다 (__)