레포트샵

fileicon[컴퓨터공학]C언어로 LEX구현

이전

  • 1컴퓨터공학 C언어로 LEX구현1
  • 2컴퓨터공학 C언어로 LEX구현2
  • 3컴퓨터공학 C언어로 LEX구현3
  • 4컴퓨터공학 C언어로 LEX구현4
  • 5컴퓨터공학 C언어로 LEX구현5

다음

  • 최대 100페이지까지 확대보기 서비스를 제공합니다.

> 레포트 > 공학계열 > 자료상세보기 (자료번호:121221)

구매가격
1,500원 할인쿠폰1,350원
등록/수정
2006.04.27 / 2006.04.28
파일형식
fileicon(기타파일) 파일확장자 : TXT
페이지수
1페이지
자료평가
평가한 분이 없습니다.
등록자
qkaldks
  • 다운로드
  • 장바구니 담기

닫기

이전큰이미지 다음큰이미지
  • 트위터
  • 페이스북
신규가입 200원 적립! + 10% 할인쿠폰 3장지급! banner구매자료를 평가하면 현금처럼 3%지급!

소개글

[컴퓨터공학]C언어로 LEX구현에 대한 자료입니다.

하고 싶은 말

C언어로 LEX구현하였습니다.
1.컴파일 방법
2.UNIX에서의 간단한 명령
3.vi 에디터에서의 간단한 명령
을 알아보고 LEX구현

본문내용

1.컴파일 방법

① lex 파일명 : lex.yy.c 가 생성됨
② cc lex.yy.c -o 생성될화일명 -ll : -o(생성될화일명을 지정할 수 있다)
: -ll(라이브러리 포함)
③ 생성된화일명 < 데이터화일명 : 데이터 파일은 직접 작성 해야 함


2.UNIX에서의 간단한 명령

① cp(카피명령) : cp 기존화일이름 복사될화일이름
: cp 기존화일이름 ../ssk/
② mv(파일이동) : mv ssk.l ggg.l(ssk.l 이 ggg.l 로 바뀐다.)
③ rm(삭제명령) : rm ssk.l(ssk.l을 삭제한다.)
④ pwd : 현재 디렉토리를 보여준다.
⑤ ls : 현재 디렉토리에 있는 파일들을 열거한다.
⑥ mkdir : mkdir ssk(ssk이라는 디렉토리를 생성한다.)
⑦ rmdir : rmdir ssk(ssk이라는 디렉토리를 삭제한다.)
⑧ cd .. : 한 단계 상위 디렉토리로 이동.
⑨ cd ssk : ssk 라는 디렉토리로 이동

3.vi 에디터에서의 간단한 명령
① ESC : 삽입이나 명령어 모드에서 탈출시 사용
② a : 커서 다음 위치에서 텍스트를 삽입
③ i : 커서 전 위치에 텍스트를 삽입,
④ h : 커서를 좌로 이동, j : 커서를 아래로 이동
k : 커서를 위로 이동, l : 커서를 우로 이동
⑤ x : 현커서위치의 문자 삭제
⑥ o : 커서가 있는 다음줄로 빈줄을 삽입, O : 커서가 있는 전줄로 빈줄을 삽입
⑦ dd : 현재 줄 삭제
⑧ esc키 → ":" → wq → enter키 : 저장하고 나감
⑨ esc키 → ":" → q → enter키 : 저장하지 않고 나감
⑩ esc키 → ":" → q! → enter키 : 수정된 내용을 무시하고 나감
⑪ vi 화일명 → enter키 → 편집 → ⑧과정 수행 (처음 vi 에디터에 들어가서 편집하고 저장하고 나오는 과정)
⑫ vi → enter키 → 편집 → esc키 → ":" → w 파일명 → enter키



----------ssk01.l------------------------------------------------------
%{
#include <stdio.h>
#include <stdlib.h>
enum tnumber { EOS, ID, INTEGER, REAL, NUMBER, ASSIGN, PLUS, MINUS,
MULTIPLY, IF, THEN, ELSE, WS, BLANK, LT,
SEMI, DOT, BEGN, END, ERROR};
%}
delim [\t\n]
ws {delim}+
letter [A-Za-z]
digit [0-9]
id {letter}({letter}|{digit})*
integer {digit}+
real {digit}+(\.{digit}+)?
number {digit}+(\.{digit}+)?(E[+\-]?{digit}+)?
%%
begin { return(BEGN); }
end { return(END); }
if { return(IF); }
then { return(THEN); }
else { return(ELSE); }
{id} { return(ID); }
{integer} { return(INTEGER); }
{real} { return(REAL); }
{number} { return(NUMBER); }
":=" { return(ASSIGN); }
"+" { return(PLUS); }
"-" { return(MINUS); }
"*" { return(MULTIPLY); }
";" { return(SEMI); }
"." { return(DOT); }
" " { return(BLANK); }
"<" { return(LT); }
. { return(ERROR); }
%%
main()
{
enum tnumber tn; /* token number */
int k;
float b;
printf("Start of Lex\n");
while((tn=yylex()) != EOS) {

태그 LEX구현, C++, 프로그램, LEX

자료평가

아직 평가한 내용이 없습니다.

오늘 본 자료

  • 오늘 본 자료가 없습니다.
  • img

    저작권 관련 사항 정보 및 게시물 내용의 진실성에 대하여 레포트샵은 보증하지 아니하 며, 해당 정보 및 게시물의 저작권과 기타 법적 책임은 자료 등록자에게 있습니다. 위 정보 및 게시물 내용의 불법적 이용, 무단 전재·배포는 금지됩니다. 저작권침해, 명예훼손 등 분쟁요소 발견시 고객 센터에 신고해 주시기 바랍니다.