yacc&lex-命名正则表达式
发布时间:2020-12-14 00:42:16 所属栏目:百科 来源:网络整理
导读:可以在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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- objective-c – 可可按钮滚动与mouseEntered:和
- checking for XML::Parser... configure: error:
- c# – 嵌套’if’ – ‘else’语句
- 正则表达式 – 如何在Play 2.0中路由URL,以便他们
- 几种常用的xml配置,Spring,Struts,Mybatis,si
- ruby-on-rails – 如何迭代数组数组
- 使用Flash,HTML5和Unity开发网页游戏的对比
- MFC连接sqlite3数据库
- OO设计原则 -- Dependency Inversion Principle:
- vb6 – 我可以将字符串,单曲等设置为“”并为每个
热点阅读