컴공 일기228
게시글 주소: https://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를 선물하세요.
-
복귀하니까 공부가안됨 2 0
...으악
-
. 2 6
-
꼴려서 공부가 안됨 4 1
히발 짐승도 아니고 발정기온거ㅏㅌ음 어제 알플 본거 하나때문에 에휴
-
프랑스 ㄷ 스페인 보고싶다 1 1
가장 최근이 그래도 스페인승리였나?
-
신보지 3 2
-
왕자지 9 1
https://ko.wikipedia.org/wiki/%EC%99%95%EC%9E%9...
-
250920틀광광울 0 0
답이 0, ㅠ/2, ㅠ, 2ㅠ, 5/4ㅠ, 7/4ㅠ인데 0, ㅠ, 2ㅠ, ㅠ/2만...
-
y=1/3x에 수직이다를 y=-1/3x에 수직이다로 잘못보고 풀어도 답이 똑같음ㄷㄷ
-
다들 조심히 걸어가세요 0 0
젖은 길바닥에서 미끄러져서 의문사 당하는줄 알았으나 저의 우월한 코어근육으로 다행히 살았습니다
-
기분 탓인가
-
쌩노베 중학교부터 시작해서 수학 국어에 올인하고 영단어만 외웠구요 영어 문제는 아직...
-
공부잘하는분들의 마인드가 궁금함 12 3
모의고사나 실모 보면 의대는 당연히 가겠지 이런마인드려나
-
어휘먼저 풀고 밑줄 ㄷ 부근 (대충 지문 2/3) 정도까지 읽으면 보기3점빼고...
-
대부분 1타를 고르기에 순위가 뒤집히기 쉽지 않아서 확실하게 챙길 걸 챙겨야 한다고 생각함
-
난 라면에 토핑추가 싫어 7 1
치즈 만두 햄 계란 넣으면 궁물 탁해져서 별루야
-
남미새ㅇㅈ 1 1
ㅇ.
-
야추ㅇㅈ 4 1
ㅇ.
-
ㄹㅇ
-
사문 특 0 1
은근 50받기힘듬 의문사 1문제씩은 함 ㅠㅠ
-
님들은 3 1
행복하세요
-
무릎 ㅈㄴ 아프네 3 1
나 아직 젊은데 왜 이럼 침이라도 맞아야 하나 지금 아예 무릎 굽히는 자세를 못하는...
-
기대된당 ㅎㅎ
-
국어 수학 1 2컷은 6 1
국어는 87 78로 수학은 88 80으로 나오면 좋음
-
짜장면우ㅑㄴ래 빨리나옴? 2 0
머 1분30초만에쳐나오냐ㅜ이건좀;
-
하나 더 풀기로 함 리벤지 매치.
-
에리카랑 지방교대중에 13 2
선호도 어디가 높아요?
-
16세 3 0
7모 올1등급 이런건 왜 내 알고리즘에.. 대단하군
-
21번 시간 모자라서 못풂 이유: 30번 공간착시로 인해 안보여서 너죽고 나죽자식...
-
우웅하기 9 1
-
수학 잘하구 싶다 32 4
요새 실모 60분컷 내는데 30분으로 줄이는 방법좀..
-
프메 듣는 중인데 누가 낫지 6모는 1이긴 한데 약간 운빨 있는 느낌인데 둘 다...
-
흐음
-
7모가 어려웠음 ㄹㅈㄷ ㄷㄷ
-
오르비처음왔는데 21 1
이제부터 뭐하면 됨?
-
점심인증 맛점하세요 4 0
돈까스
-
영못도와주세요……… 23 3
영어실모같은건80후~90초정도나오는거같읃데 실전에선70후나와요계솟...
-
쪽지좀받아주실 수잘형님 2 0
계시나요
-
7모 15번 왜틀렸지 ㅅㅂ 2 0
저거 이차항 계수가 날라간다는걸 못 봤음 진짜 빙신인가 생각보다 쉬운데 계산은 좀...
-
진짜 유체화점멸탈진정화점화총명눈덩이 숙취해소제 알아낸 사건. 5 1
7/9 오후 11시경부터 새벽까지 소주 4병 섭취. 7/10 모닝케어와 함께 등원. 실모 ing.
-
대성 패스 있고 피램도 고민 중임 어느 한 파트가 약한 것도 아니고 지금 2등급...
-
생윤 공부법 1 0
개념 듣고, 기시감 2회독 했는데 7모 36점 맞았어요 (8,10,13,16,18...
-
원래 자기 성적 구라치는 사람이 좀 많나요? 37 24
모의고사 가채점 글 보면 죄다 전과목 한두개 틀리는데 막상 수능판에는 오래...
-
유자분 들을때마다 잠자서 몇주안했는데 이신혁 강의 이해하는데 문제없나
-
담배고양이 op보면서 느낀게 0 0
타츠키 이새기가 또 시네필병을 퍼뜨렸다
-
아직도 7모 30번 못 품 7 1
변곡접선 아니야?? 힌트 좀만 줘봐. 답지 보기가 싫어~…
-
제법 많지않나?? 작년 10모도찍맞이 있는거지 ㅈㄴ 어려움..
-
나 희귀닉임? 4 4
ㅈㄱㄴ
-
최저런데 영어노베인데 지금이라더영어 공부하믄 게 낫나요 3 0
5~6나옴 3이면 안정적으로 맞춰여 듣기 다맞이라고 치면 4정도
-
ㄴㅓ무 우울해 0 0
인생은 왜 나는이렇게 외로운 걸까
-
히카 개수 질문있습니다 2 0
지금 모고 계획 짜고 있는데 히카 각 시즌별로 몇개 들어가는지 알고 싶습니다

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

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

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