C언어 문법 에러를 체크 하는 Simple Compiler
- 최초 등록일
- 2009.08.22
- 최종 저작일
- 2004.11
- 14페이지/ MS 워드
- 가격 2,000원
소개글
간단한 C언어 문법 에러를 체크하는 Simple Compiler 입니다.
C언어로 되어있습니다.
목차
1. 요구분석(Required Analysis)
2. 설계
3. FLOW CHART
4. Program Source
4. Testing Result
본문내용
1. 요구분석(Required Analysis)
1) Compiler란?
고급언어로 쓰인 프로그램을 컴퓨터가 이해할 수 있는 기계어(機械語)로 번역
하기 위한 프로그램. 어셈블러(assembler)와 함께 번역기(translator)로 분류
한다.
2) 레포트에 구현된 Simple compiler의 목적
C언어로 짠 코드에 대해 변수에 관한 문법에 어긋난 부분 예를 들면, 선언되지
않거나 중복 선언된 변수를 찾는데 목적이 있다.
3) 토큰의 구분과 처리의 필요성
변수에 관한 문법에 대한 처리를 위해서는 자료형과 식별자의 구분이 필요하며,
다음에 검사되는 토큰과의 비교 또한 필요하다. 이때 공백이나 탭문자, 뉴라인,
쉼표, 세미콜론과 같은 문자들을 변수선언과 관련하여 그 위치나 C언어에서의
규칙에 맞춰 문법을 확인하는 것이 필요하다. 이것들의 비교를 위해 자료형과
변수들은 선언 시 심볼테이블에 저장되어 다음의 토큰과 비교하여, 문법에
어긋날 경우 오류 메시지를 출력하는 것이 필요로 하게된다.
이 때문에 토큰의 분류방식과 처리방식은 compiler성능의 아주 중요한 요소로
작용한다
@ Token 분류.
C언어로 짜여진 의미를 가지는 최소의 단위인 토큰(token)으로 나눈다.
- 인식하는 토큰의 예
키워드(keywords)/예약어(reserved words): 32개
자료형 : 8개
식별자(identifier): 문자로 시작하여 문자와 숫자로 구성된 문자열
라이브러리 함수 : 자주 사용되는 라이브러리 함수이름
@ 예약어의 식별
예약어 배열을 구축
토큰을 식별한 다음 예약어 배열 참조
심볼테이블 사용
식별자 저장장소 할당
토큰 문자열의 길이를 256자 이하로 고정
2. 설계
1. input
FILE형에 대한 포인터를 반환하는 fopen()함수를 이용하여 외부로부터의
확장자가 C인 파일 하나를 입력 받음.
**argv -> *fp -> strLine배열에 한 줄씩 입력이 들어옴
예) sc.c text1.c
참고 자료
없음