📄 abnf.flx
字号:
%{#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 + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -