一个加法编译器(AddYacc.y)

类别:编程语言 点击:0 评论:0 推荐:

%{
#include <malloc.h>
    int yylex(void);
    void yyerror(char *);
%}
 
%token INTEGER
 
%%
 
program:
        program expr '\n'         { printf("%d\n", $2); }
        | 
        ;
 
expr:
        INTEGER                   { $$ = $1; }
        | expr '+' expr           { $$ = $1 + $3; }
        | expr '-' expr           { $$ = $1 - $3; }
        ;
 
%%
void yyerror(char *s) {
    fprintf(stderr, "%s\n", s);
  return 0;
}
 
int main(void) {
    yyparse();
    return 0;
}

 

本文地址:http://com.8s8s.com/it/it23545.htm