|
lex input file 인 yyin으로부터 token을 읽어들어 grammar rule에 따라 parsing하는 syntax analyzer인 yyparser( )를 호출한다. 즉, yyparse( )는 yacc에 의해 생성되는 parser의 C routine이다.
③ cal_lex.l
%{
#include \"cal_yacc.h\"
#include \"cal.h\"
#include <math.h>
%}
%%
([0-9]+|([0
|
- 페이지 10페이지
- 가격 1,000원
- 등록일 2009.03.17
- 파일종류 한글(hwp)
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
Lex & Yacc 를 이용한 계산기 Source code입니다.
Visual studio를 이용해 작성하였으며, debug folder에 실행파일 있습니다.
|
- 페이지 30페이지
- 가격 3,000원
- 등록일 2009.03.17
- 파일종류 압축파일
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
Lex\\n\");
while ((tn=yylex()) != TEOF) {
switch(tn) {
case TBEGIN : printf(\"Begin\"); break;
case TEND : printf(\"End\\n\"); break;
case TIDEN : printf(\"Identifier : %s\\n\", yytext); break;
case TASSIGN : printf(\"Assignment_op\\n\"); break;
case TADD : printf(\"Add_op\\n\"); break;
case TNUM :
|
- 페이지 41페이지
- 가격 3,000원
- 등록일 2007.12.24
- 파일종류 한글(hwp)
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
lex 파일이 완성된다.
물론 Wizard가 싫은 분은 그냥 File -> New로 해도 상관없다.
File -> New로 파일을 만들었다면 저장할 때 프로그램이 기본적으로 .y로지정해주는데 .y(.Y)는 YACC이므로 LEX를 구현하려고 한다면 .l(.L)을 써야 한다.
이제 lex 코
|
- 페이지 11페이지
- 가격 2,000원
- 등록일 2007.12.22
- 파일종류 한글(hwp)
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|
|
\");
exit(1);
}
void symbol_reverse(void) /* parsing table의 값을 거꾸로 stack에 넣음 */
{
int s = 0;
int f = 0;
while(reverse[f]!=\'\\0\'){
f++;
}
f--;
for( ; f >= s; f--){
push(reverse[f]);
}
}
void parser(void) /*parsing table과 연결시켜 input을 parsing한다.*/
{
while(temp != \'$\'){ /* stack
|
- 페이지 7페이지
- 가격 1,000원
- 등록일 2009.03.18
- 파일종류 한글(hwp)
- 참고문헌 없음
- 최근 2주 판매 이력 없음
|