• 파일시티 이벤트
  • LF몰 이벤트
  • 서울좀비 이벤트
  • 탑툰 이벤트
  • 닥터피엘 이벤트
  • 아이템베이 이벤트
  • 아이템매니아 이벤트

[프로그래밍] LEX&YACC으로 구현한 SIC/XE 어셈블러

*종*
개인인증판매자스토어
최초 등록일
2007.02.01
최종 저작일
2006.05
압축파일
가격 2,000원 할인쿠폰받기
다운로드
장바구니

소개글

컴퓨터 학부 3학년 1학기 과목이 시스템 프로그래밍의 과제 중 하나인 SIC/XE 어셈블러 입니다.
LEX & YACC을 이용하여 쉽게 구성 되어 있으며, 추가 기능 삭제 및 구현이 간단하게 됩니다.
아무래도 LEX & YACC의 장점이 아닌가 싶습니다.

학교 교재는 SYSTEM SOFTWARE라는 교재입니다. 참고하시길 바라며, 책과 함께 하신다면, 이해가 훨씬 수월할 것입니다.

학점은 제가 중간/기말을 못봤음에도 불구하고, LEX&YACC을 사용한 것에 가산점에 차후에 올린 어셈블러 시뮬레이터에서 최고 점수 +알파를 받아 중간/기말 성적이 안좋음에도 불구하고 A+나왔습니다.

차후 SIC/XE 시뮬레이터는 VC로 작성되어 있으며, 이 자료와 연계가 잘 된다고 볼 수 있습니다.


■ 개 요

SIC/XE 어셈블러를 구현하는 데 앞서 주어진 프레임과 LEX & YACC을 이용하여 구현하였습니다.
LEX&YACC으로 구현하였기에 주어진 프레임에서 필요 없는 부분이 상당히 많았습니다.
파싱 처리를 위한 함수들이 LEX&YACC으로 구현하다 보니 필요 없는 부분이 생겨 무시하거나 XE를 위한 함수도 몇 가지 추가되었습니다. 그래도 기본 프레임의 흐름은 최대한 유지한 채 LEX & YACC을 이용하였습니다.
※ 이후 경어체는 생략하겠습니다.


■ LEX & YACC을 이용한 기본 프레임 구조

제가 구현한 어셈블러는 가급적 1-PASS에서 할 수 있는 일들을 최대한 처리를 합니다. LEX&YACC에서 처리한 토큰들을 2-PASS에서 반복한다는 것은 비효율적이므로 토큰 관리는 PASS-1에서 처리를 끝마칩니다.
그리고 LEX & YACC은 문법이 어렵지 않을 뿐더러 구조가 간단하여 주석을 삽입하지 않았습니다.
문법 정의의 연속이라 BNF 구조만 정의하면 이해하기 쉬울 것 같습니다.

컴파일 실행환경

■ 개발 환경

SYSTEM : LINUX (FEDORA CODE 5)
PARSER : FLEX & BISON (LEX & YACC GNU VERSION)
COMPILER : GCC COMPILER
FILE : my_assembler.h(헤더), my_assembler.l(LEX), my_assembler.y(YACC), convert.c

** 리눅스 상에서 단지 make만 하면 모든 컴파일이 완료되며, 소스 코드 또한 그리 어렵지 않기 구성되어 있다.

압축파일 내 파일목록

convert.c
COPY
input.txt
lex.yy.c
makefile
makefile~
my_assembler
my_assembler.h
my_assembler.h.html
my_assembler.h~
my_assembler.l
my_assembler.l.html
my_assembler.l~
my_assembler.tab.c
my_assembler.tab.h
my_assembler.y
my_assembler.y.html
my_assembler.y~
my_assembler_n.h.html
my_assembler_n.l.html
my_assembler_n.y.html
RDREC
WRREC
~$2-SIC_Assembler(Lex&Yacc).doc
~$_assembler.l
레포트/~$2-SIC_Assembler(Lex&Yacc).doc
레포트/과제2-SIC_Assembler(Lex&Yacc).doc
레포트/사용법.txt

참고 자료

System Software (3rd Edition) by Leland L. Beck
나머지는 리눅스의 man페이지
*종*
판매자 유형Bronze개인인증

주의사항

저작권 자료의 정보 및 내용의 진실성에 대하여 해피캠퍼스는 보증하지 않으며, 해당 정보 및 게시물 저작권과 기타 법적 책임은 자료 등록자에게 있습니다.
자료 및 게시물 내용의 불법적 이용, 무단 전재∙배포는 금지되어 있습니다.
저작권침해, 명예훼손 등 분쟁 요소 발견 시 고객센터의 저작권침해 신고센터를 이용해 주시기 바랍니다.
환불정책

해피캠퍼스는 구매자와 판매자 모두가 만족하는 서비스가 되도록 노력하고 있으며, 아래의 4가지 자료환불 조건을 꼭 확인해주시기 바랍니다.

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
[프로그래밍] LEX&YACC으로 구현한 SIC/XE 어셈블러
  • 레이어 팝업
  • 프레시홍 - 특가
  • 프레시홍 - 특가
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
AI 챗봇
2024년 07월 27일 토요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
1:45 오후
New

24시간 응대가능한
AI 챗봇이 런칭되었습니다. 닫기