컴파일러
-
파서 제너레이터컴파일러 2013. 5. 3. 19:53
LL 파서 제너레이터JavaCC(Java)ANTLR(Java)Predicated-LL(k) 파서LALR 파서 제너레이터UNIX의 yacc 툴(C), bison(C)SableCC(Java; LALR(1))자바 CUPLALR(1) 파서c.f. LR 파서 제너레이터 Packrat parser parser combinator 참조 사이트:http://bluexmas.tistory.com/229http://eclipse-javacc.sourceforge.net/http://isilab.kaist.ac.kr/files/File/public_html/guide/Javacc/index.html
-
컴파일러컴파일러 2009. 7. 6. 19:21
어휘 해석(Lexical Analysis) 스캔 어휘 해석기(LEXICAL ANALYZER) 또는 스캐너토큰열을 생성 스캐너 제너레이터 구문 해석(Syntax Analysis) parse추상 구문 트리 파서 제너레이터 의미 해석(Semantic Analysis) 중간 코드 (operation ,left operand,right operand,result,,Lbl)) 1(==) 2() 4(=) 6(!=) (MOV, A,,B) (ADD, A,B,C) (NEG, A,,B) (JMP, ,,,,Lbl) (TST, A,B,,,Lbl) Label run-time operations Code Generation (MOV, A,,B) ==> LOD R1,A STO R1,B (ADD, A,B,T1) ==> LOD R1,A..
-
표현식 변환컴파일러 2009. 7. 5. 02:23
심볼 테이블 miniC.l %% [a-zA-Z] { yylval = alloc(TOKEN); return OPERAND; } [ \t] ; . return yytext[0]; \n { lineno++; return yytext[0]; } %% yywrap () { return 1; /* terminate when reaching end of stdin */ }miniC.y %{ #include typedef char * string; #define YYSTYPE string #define TOKEN 1 #define TEMP 0 int temp = 0; struct node { char name[3]; struct node * next; }; struct node * tlist = NULL; char *..