我是靠谱客的博主 优美盼望,最近开发中收集的这篇文章主要介绍yacc lex使用实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述


mysql php python中都是使用这个生成词法分析和语法分析器

%{

typedef char* string;
#define YYSTYPE string
%}
%token NAME EQ AGE
%%
file : record file
| record
;
record : NAME EQ AGE {
printf("%s is %s years old!!!n", $1, $3); }
;
%%
int main()
{
    yyparse();
    return 0;
}
int yyerror(char *msg)
{
    printf("Error
    encountered: %s n", msg);

}



%{
#include "y.tab.h"


#include <stdio.h>
#include <string.h>
extern char* yylval;
%}
char [A-Za-z]
num [0-9]
eq [=]
name {char}+
age {num}+
%%
{name} { yylval = strdup(yytext);
return NAME; }
{eq} { return EQ; }
{age} { yylval = strdup(yytext);
return AGE; }
%%
int yywrap()
{
    return 1;
}

最后

以上就是优美盼望为你收集整理的yacc lex使用实例的全部内容,希望文章能够帮你解决yacc lex使用实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(49)

评论列表共有 0 条评论

立即
投稿
返回
顶部