首页 > 学院 > 开发设计 > 正文

yacc&lex-命名正则表达式

2019-11-11 02:17:54
字体:
来源:转载
供稿:网友

可以在lex的definition部分为正则表达式指定名称,后续用{name}方式引用。

%{#include <stdlib.h>#include <stdio.h>int count = 0;%}digit [0-9]number {digit}+%%{number} { int n = atoi(yytext); PRintf("number: %d/n", n); count++;}quit { return 0;}. ;%%int main(){ yylex(); printf("number count: %d/n", count); return 0;}

运行结果:

abc 123 def 456 789 quitnumber: 123number: 456number: 789number count: 3
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表