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

Mini C Interpreter (인터프리터)

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

소개글

이 프로그램은 C & C++로 작성된 것이 아닌, 리눅스상의 Lex & Yacc을 이용한 것임을 밝힙니다.
Lex & Yacc의 버전은 flex와 bison을 기준으로 합니다.

입력으로 C언어의 일부 기능만을 사용하는 Mini C를 받습니다. 그 후 토큰 분리 및 트리 출력을 합니다. 마지막으로 연산 결과를 출력합니다.

연산가능한 연산자는 아래와 같습니다.
"else, if, int, return, void, while, exit;, ==, !=, <, >, <=, >=, !, &&, ||, ++, --, +=, -=, *=, /=, %=, =, -, +, *, /, %"

## 포함 자료 ##
프로그램소스 + 예제소스 + 문서 + 결과화면 이미지

컴파일 실행환경

◇ 실행 방법
- flex와 bison을 기준으로 함.
① 제출된 압축파일의 압축을 풀어 모든 파일을 리눅스 상의 같은 Directory에 위치 시킨다.
② Linux/Unix shell command상에서 make 명령어를 수행시켜 ‘MiniC’라는 실행 파일을 생성한다.
③ 아래와 같은 방법으로 Mini C Interpreter에 동봉된 Mini C 예제 코드를 입력으로 준다.(단, read()함수의 이용 시 ‘<’ 명령 대신 직접 Console을 통해 소스 코드를 입력해야 한다. – Yacc Spec. 참조)
## 실행명령 =>‘./MiniC < 파일명.mc’##
④ 입력으로 주어진 Mini C 예제 코드에 대한 Parse Tree와 그 실행 결과가 출력된다.

본문내용

◇ Spec. for Lex
- 수업 교재 부록 A에 정의된 Mini C의 Keyword 및 연산자 중 ‘const’ Keyword를 제외한 모든 Keyword 및 연산자를 구현 하였음. (기타 구현과 관련된 세부 사항은 소스 코드의 주석을 참조)


◇ Spec. for Yacc
- 배열 표현과, 변수 선언 시 초기화, ‘const’ Keyword 관련 부분을 제외한 모든 부분(함수 구현)을 구현 하였으며 수업 교재에서 제시된 코드를 참조하여 새롭게 재작성 하였음. 한가지 언급 할 것은 Yacc 소스 코드의 컴파일 시 shift/reduce 충돌이 하나 존재하는 것으로 나오는데 이는 selection_stmt의 IF문과 IF ELSE사이에서 발생하는 것으로, 교재에 제시된 모범 예제의 같은 기능을 수행하는 부분에서도 이와 같은 충돌이 존재하고 있다. 그 충돌을 수정하려 하였으나 굳이 하지 않아도 default Rule의 적용 등으로 자체 해결되고 있었고 그 수정에 드는 코드 처리 등 효율 면에서 떨어지기에 굳이 하지 않았다. 교재 모범 예제의 작성자도 같은 의도에서 굳이 수정하지 않았을 것으로 판단된다. (기타 구현과 관련된 세부 사항은 소스 코드의 주석을 참조)
※ 제약조건1 : 함수 구현시 main의 상단에 위치해야지만 입력 프로그램 실행이 가능하다. 아래에 존재할 경우 파싱트리까지는 출력이 되지만, main에서 함수의 존재 여부를 알 수 없어서 호출이 불가능하다.
※ 제약조건2 : 사용자의 입력을 받는 read()가 포함된 입력 프로그램을 ‘$ ./MiniC < 파일명.mc’ 으로 실행을 할 경우, 파이프의 연결로 인해 입력 값을 Console로부터 받을 수 없게 된다. 따라서 read()가 제 기능을 수행하게 하려면 ‘$ ./MiniC’ 으로 실행을 하여 입력을 Console로부터 받게 한 후, 소스코드를 직접 Typing 해줘야 한다. (참고: Console 입력 시, MiniC의 수행 후 모든 소스코드를 입력한 다음 ‘exit;’를 쳐야 parsing이 시작된다)

압축파일 내 파일목록

Makefile
lex.l
factorial.mc
structFile.h
readme.txt
yacc.y
result.jpg
Mini C Interpreter 보고서.doc

참고 자료

없음

자료후기(6)

6개 리뷰 평점
  • A+최고예요
    1
  • A좋아요
    1
  • B괜찮아요
    1
  • C아쉬워요
    2
  • D별로예요
    1
*치*
판매자 유형Bronze개인인증

주의사항

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

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

파일오류 중복자료 저작권 없음 설명과 실제 내용 불일치
파일의 다운로드가 제대로 되지 않거나 파일형식에 맞는 프로그램으로 정상 작동하지 않는 경우 다른 자료와 70% 이상 내용이 일치하는 경우 (중복임을 확인할 수 있는 근거 필요함) 인터넷의 다른 사이트, 연구기관, 학교, 서적 등의 자료를 도용한 경우 자료의 설명과 실제 자료의 내용이 일치하지 않는 경우
최근 본 자료더보기
탑툰 이벤트
Mini C Interpreter (인터프리터)
  • 레이어 팝업
  • 레이어 팝업
  • 레이어 팝업
AI 챗봇
2024년 06월 03일 월요일
AI 챗봇
안녕하세요. 해피캠퍼스 AI 챗봇입니다. 무엇이 궁금하신가요?
9:17 오전
New

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