렉스와 야크로 만든 자바 인터프리터
- 최초 등록일
- 2009.12.25
- 최종 저작일
- 2009.11
- 압축파일
- 가격 2,500원
소개글
자바 소스를 본석하고 실행하는 자바 인터프리터를 만들었습니다.
기본적인 클래스 개념, 메소드, 변수, 타입, 접근 제한자, 배열, 재귀 등등
여러가지를 구현했습니다.
lex로 단어를 추출하고 yacc로 문법을 분석해서 실행합니다.
make 파일도 만들어 놔서 make만 치면 실행파일이 나옵니다~!
구성 : pl2_l.l pl2_y.y sym.h make파일
제가 다른 버젼을 올려 놓았는데 그것과는 구현이 40%정도 다릅니다~
둘다 상당히 다르니 모두 참고하는 것도 좋을 것 같네요^^;
A+ 받았씁니다!
컴파일 실행환경
없음
본문내용
%{
#include <stdlib.h>
#include "sym.h"
#include "y.tab.h"
void yyerror(char *);
%}
%%
[ tnr]+ ; /* ignore whitespace */
"class" return CLASS;
"boolean" return BOOLEAN;
"public" return PUBLIC;
"static" return STATIC;
"void" return VOID;
"String" return STRING;
"extends" return EXTENDS;
"if" return IF;
"else" return ELSE;
"while" return WHILE;
"return" return RETURN;
"System.out.println" return PRINTLN;
"new" return NEW;
"this" return THIS;
"null" return tNULL;
"true" { yylval.bValue = 1;
return TRUE; }
"false" { yylval.bValue = 0;
return FALSE; }
">=" return GE;
"<=" return LE;
"==" return EQ;
"!=" return NE;
"int" return INT;
[a-zA-Z][a-zA-Z0-9]* {
yylval.identifier = strdup(yytext);
return VARIABLE;
}
.... 등등등!!
압축파일 내 파일목록
make.exe
pl2_l.l
pl2_y.y
sym.h
참고 자료
없음