Chiusakpung's Electronics Blog

블로그 이미지
Computer programming ...
by 치우삭풍
  • Total hit
  • Today hit
  • Yesterday hit

'EECS/Compiler'에 해당되는 글 7건

  1. 2010.10.02
    How to clear ostringstream
  2. 2009.05.31
    [링크] GNU Compiler Collection Online Document
  3. 2009.05.28
    Lisp와의 만남!
  4. 2009.04.29
    [개별연구노트] 4월 29일 - 복잡한 표현식을 구현하기 위한 Struct Type 선언
  5. 2009.04.22
    [개별연구노트] 4월 22일 GNU Assembler
  6. 2009.04.16
    [개별연구노트] 4월 16일 목요일 Makefile 만들기
  7. 2009.04.14
    [개별연구노트] 4월 14일 Lex & Yacc
The class ostringstream is often used for combining many number chains and transforming it into string, such as itoa() or sprintf( ... , "%f" , ...) in C standard library

The following is an example of this class.

int main() {
     ostringstream myO;
     myO << 12 << 8; // myO = "128"
     cout << myO.str() << endl;
     return 0;
}

Result>
128

To clear myO up, use myO.str("")

Wait! if you want to use the string contained in myO instance at the time of calling the constructor of ifstream instance, for example,  ifstream inf (myO.str()), we cannot miss a serious (and terrible) mass of compile message. To avoid it, we need one more method c_str().

ifstream inf (myO.str().c_str())
AND
http://gcc.gnu.org/onlinedocs/gccint/index.html

위의 링크는 GNU 단체에서 제공하는 온라인 문서로 GCC를 이용하여 해당 언어를 원하는 머신으로 포팅하는 방법을 설명하고 있습니다.

Chapter 10에서 RTL(Register Transfer Language; 레지스터 이동 언어) 표현식을 공부하고 Chapter 16, Machine Description과 Chapter 17  Target Description Macros and Functions를 알면 대략적인 Porting을 수행할 수 있습니다.


AND
간만에 포스팅.

학기도 끝나고, 요즘에는 연구실일을 본격적으로 하고 있습니다. 현재 제가 하고 있는 일은 GCC (GNU Compiler Collection) Porting입니다. 제가 이 일을 하니 S.J.Oh 박사님께서는 '드디어 시궁창 속에 왔구나'하셨는데....이유인 즉 Docu가 잘 안되어 있기 때문이랍니다.

-_-;; 무협지마냥, 무공의 코어로 들어가게 되면 아는 사람만 알게되고, 이심전심으로 배우게 되죠. 마치 그런 느낌이 들었습니다.

GCC는 중간에 RTL(Register Transfer Language)을 생성합니다. 이 RTL은 Lisp-like Language이기 때문에, Tree처럼 보이고 비문법적으로 보입니다. 그래서 md(machine description)을 보면서 뭔가 신비+_+한 느낌을 받았습니다. -> 바로 구글링!

예, LISP에는 문법이 (하나밖에) 없답니다. (http://lisp.tistory.com/45?srchid=BR1http%3A%2F%2Flisp.tistory.com%2F45)

(그리고 완전 추상화의 구현, 매크로, 코드를 데이터로 인식가능 등의 장점들이 있다고 합니다. 아직 그 뜻들을 다 이해한 것은 아니지만, 이론적으로 '매우 아름다운' 언어라 하겠습니다.)

그래서 GCC Porting의  Machine Description도 제대로 공부할 겸, Lisp에 푹 빠져보렵니다.

아래는 Lisp를 시작하기 위해 이것 저것 알아본 것들입니다.
책 : 컴퓨터 프로그램의 구조와 해석(번역판) MIT, UC 버클리 교재로 쓰임 - http://blog.java2game.com/259

이건 우리학교 도서관에 있어서 바로 빌렸구요 +ㅁ+
아래 링크에서 또 검색해보시면 좋은 자료 얻을 수 있습니다.

그룹 : 한국리스퍼 - Lisp 공부를 위한 자료들.
http://groups.google.com/group/lisp-korea/web/lisp%EC%97%90+%EA%B4%80%EB%A0%A8%EB%90%9C+%EC%9E%90%EB%A3%8C%EB%93%A4(%EC%B1%85%2C+%EB%8F%99%EC%98%81%EC%83%81+%EB%93%B1)

여러분도 Lisp의 세계에 들어가보세요 ㅋ 뇌가 유연해지는 것을 느낄 수 있습니다!
AND

http://compilers.iecc.com/comparch/article/08-08-014

즉, %union 안에 단순히 Struct type variable을 선언해서는 안되며 반드시 pointer type으로 선언해야 한다.

이렇게 되면 당연 $1->멤버변수, $$->멤버변수 와 같은 접근 방식을 취해야 한다.
AND
다음은 GNU Assembler에 대한 안내서를 거의 완역한 포스트.

=ㅁ=.. 이 사람 대단하다. 거의 240 페이지나 되는 글을 번역하다니;;;; 스크롤 압박이니 주의.

http://vozlt.tistory.com/8

- 참고로 오늘 새벽 6시에 일어나서 부스트 달고 버닝하니 오후 5시 쯤 대략 적인 것은 돌아가는 어셈블러 만들었다. 이걸로 4번째 일 완료. 앞으로는 계속해서 업그레이드 나가는 일만 남았다.

- SVN, VIM commands - S.J. Lee 횽께 받음 ㅋ 텍스트로 하면 왠지 간지난다.

- 오늘 장기하 씨가 오셔서 노래 부르셨단다... 예전에도 그랬지만 난 역시 엔지니어인가 보다. 하루 종일 랩에 있었고 랩일을 했지만 뿌듯하기만 하다.
AND
Tip! - cmp A B : A와 B 파일의 다른점을 출력해주기. 완전 같다면 아무런 출력 없이 끝난다.

손쉽게 Scanner를 만들어주는 Makefile 만들기
http://flex.sourceforge.net/manual/Makefiles-and-Flex.html

How to write makefile
http://www.hsrl.rutgers.edu/ug/make_help.html

Makefile Tutorial
http://bt22dr.springnote.com/pages/989914
AND
[1] A Compact Guide to Lex & Yacc (Webpage & PDF file)

http://epaperpress.com/lexandyacc

[2] 위 문서를 참고하여 온도 조절기와 계산기를 만드는 방법이 아래의 한글 문서에 나와있다.

http://www.joinc.co.kr/modules/moniwiki/wiki.php/article/lex_yacc_howto

^-^ [1]의 문서는 제본 떠서 랩에 남겨야지 ㅋㅋ
AND

ARTICLE CATEGORY

전체 (126)
EECS (56)
Algorithm (2)
C/C++/STL (6)
Python (3)
MATLAB (7)
Compiler (7)
Verilog (4)
PSPICE (1)
Circuit (5)
Linux (13)
Dos Shell (0)
Trouble Q&A (7)
Physics (5)
Misc. (60)

RECENT ARTICLE

RECENT COMMENT

RECENT TRACKBACK

CALENDAR

«   2025/05   »
1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30 31

ARCHIVE