yacc&lex-命名正则表达式
发布时间:2020-12-13 22:02:11 所属栏目:百科 来源:网络整理
导读:可以在lex的definition部分为正则表达式指定名称,后续用{name}方式引用。 %{#include stdlib.h#include stdio.hint count = 0;%}digit [0-9]number {digit}+%%{number} { int n = atoi(yytext); printf("number: %dn",n); count++;}quit { return 0;}. ;%%
可以在lex的definition部分为正则表达式指定名称,后续用{name}方式引用。 %{ #include <stdlib.h> #include <stdio.h> int count = 0; %} digit [0-9] number {digit}+ %% {number} { int n = atoi(yytext); printf("number: %dn",n); count++; } quit { return 0; } . ; %% int main() { yylex(); printf("number count: %dn",count); return 0; } 运行结果: abc 123 def 456 789 quit number: 123 number: 456 number: 789 number count: 3 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |