abnf.flx

来自「mgcp协议源代码和测试程序,还有一个编译器」· FLX 代码 · 共 68 行

FLX
68
字号
%{#include <stdio.h>#include <string.h>#include "abnf.tab.h"int iAbnfFileNumber;%}%option noyywrap%x STRING%s NORMAL%s HEXVAL%% [;][^\n]*		{}     /* eat up comment */ "%d"                    {							return DEC_VAL;						}"%x"                    {							BEGIN(HEXVAL);							return HEX_VAL;						}<HEXVAL>[0-9A-Fa-f]+	{							yylval.sz = strdup(yytext);							return HEXDIG;						}<HEXVAL>[/)]		{						BEGIN(NORMAL);						return yytext[0];					}<HEXVAL>[ \t\r\n]	{						BEGIN(NORMAL);					}\"					{						BEGIN(STRING);					}<STRING>[^"]+\"		{						yylval.sz = malloc(strlen(yytext)+2); 						sprintf(yylval.sz,"\"%s", yytext);						BEGIN(NORMAL);						return QUOTED_STRING;					}^[a-zA-Z][_a-zA-Z0-9\-]*	{								yylval.sz = strdup(yytext);								return RULE_NAME;							}[a-zA-Z][_a-zA-Z0-9\-]*		{								yylval.sz = strdup(yytext);								return ELEMENT_NAME;							}[0-9]+		{				yylval.sz = strdup(yytext);				return DIGIT; 			}[ \t\r\n]           /* eat up space and line */[-=*()/\[\]] 		{						return yytext[0];					}<<EOF>>			{					yyterminate();			    }.		 /* eat up the remainder char */%%

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?