1
간단한 계산기 용 파서를 만들고 싶지만 간단한 입력에 대해 오류가 발생합니다. 플렉스 파일이Bison, 간단한 계산기 프로그램
%{
#include "exp.tab.h"
#include <string.h>
%}
blanks [ \t\n]+
%%
{blanks} { /* ignore */ }
[0-9]+ {yylval= strtol(yytext, NULL, 10);
return(NUMB);}
%%
들소 파일처럼 보인다는 다음과 같습니다
123 + 12
입력
를 들어%{
#include <stdio.h>
%}
%token NUMB
%left '+'
%%
exp:
NUMB { $$ = $1; }
| exp '+' exp { $$ = $1 + $3; }
%%
int yyerror(char *s) {
printf("yyerror : %s\n",s);
}
int main(void) {
yyparse();
}
내가 얻을 오류 message.Why는 이런 일이?
태그 지정할 때주의하십시오. Flex는 Adobe/Apache 프레임 워크에 사용됩니다. Gnu-flex는 어휘 분석기에 사용됩니다. – JeffryHouser
@ Reboog711,'flex-lexer'는 실제로 ... – Charles
@Charles Thanks; 나는 몰랐다. 방금 flex-lexer 태그에 대해 언급하기 위해 "Flex Tag Wiki"를 수정했습니다. http://stackoverflow.com/tags/flex/info – JeffryHouser