<div>// in2po.l</div> <div> </div> <div>%{<br>#include "in2po.tab.h"<br>%}</div> <div>%%</div> <div>[ \t]+ ;<br>[0-9] {yylval = yytext[0] - '0'; return DIGIT;}<br>[+\-\n] return yytext[0];<br></div> <div>-------------------------------------------------------</div> <div> </div> <div>//in2po.y</div> <div> </div> <div>%{<br>#include <stdio.h><br>#include <ctype.h><br>%}</div> <div>%token DIGIT</div> <div>%%</div> <div>line : expr '\n' {putchar('\n');}<br> ;<br>expr : expr '+' term {putchar('+');}<br> | expr '-' term {putchar('-');}<br> | term<br> ;<br>term : DIGIT {printf("%d", yylval);}<br> ;</div> <div>%%</div> <div>int main()<br>{<br> if(yyparse()==0) printf("The Parsing Complete \n\n");<br> else printf("syntax error \n\n");<br>}</div> <div> </div> <div>-------------------------------------------------------</div> <div> </div> <div style="text-align:left;"><img width="539" height="251" style="border:;" alt="제목 없음.png" src="http://thimg.todayhumor.co.kr/upfile/201609/1473461185c2efb945a09c4719a50d0e7f1e242072__mn342463__w539__h251__f18880__Ym201609.png" filesize="18880"></div> <div> </div> <div>이번학기 들어 이제 막 컴파일러 배우기 시작한 학생입니다.</div> <div>원래대로라면 cmd에서 9-5+2를 입력했을때</div> <div>95-2+ 가 출력되고</div> <div>The Parsing Complete 가 출력되야하는데</div> <div>95-2+ 가 출력된 후 더 입력을 요구합니다.</div> <div>그 과정에서 그냥 엔터치면 다음과 같이 syntax error를 출력시킵니다.<br>왜 The Parsing Complete가 출력되지 않는지 혹시 알 수 있을까요?</div>
댓글 분란 또는 분쟁 때문에 전체 댓글이 블라인드 처리되었습니다.