ediflex.l

来自「主要用于大规模的测试生成方法」· L 代码 · 共 37 行

L
37
字号
%{#include <stdio.h>#undef YYLMAX#include "defines.h"extern int err_count;extern FILE *edifp;#undef input#define input() (((yytchar=yysptr>yysbuf?U(*--yysptr):toupper(getc(edifp)))==10?(yylineno++,yytchar):yytchar)==EOF?0:yytchar)%}white	[ \t\n\r]black	[-!#$&()*+,./:;<=>?@_`{|}~^\[\]\\\"\']ident	[&A-Za-z][A-Za-z0-9_]*number	[+-]?[0-9]+string  \"[-A-Za-z0-9%!#$&\'()*+,./:;<=>?@\[\]\\^_`{|}~ \t\n\r]*\"%START KEY STR%e 256%%{white}+	;<KEY>{ident}	{ BEGIN 0; return( KEYWORD);}<KEY>({black}|[0-9])	{ fprintf( stderr,			"Line %d: '%c' illegal after '('!\n",			yylineno, yytext[0]); BEGIN 0; err_count++;		}"("		BEGIN KEY;{ident}		return( IDENT);{number}	return( NUMBER);{string}        return( STRING);")"		return( ENDLIST);{black}		{ fprintf( stderr,"Line %d: Illegal character '%c'!\n",			yylineno, yytext[0]); err_count++;		}.		{ fprintf( stderr, "Line %d: Illegal character octal %o!\n",			   yylineno, yytext[0]); err_count++;		}%%static int yywrap() { return(1);}

⌨️ 快捷键说明

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