lex.c
来自「一个shell程序可以实现管道」· C语言 代码 · 共 38 行
C
38 行
%{
int _numargs = 10;
char *_args[10];
int _argcount = 0;
%}
QUOTE \"[^\"]*\"
WORD [a-zA-Z0-9\/\.-]+
SPECIAL [()><|&;*]
%%
_argcount = 0;
_args[0] = NULL;
{QUOTE}|{WORD}|{SPECIAL} {
if(_argcount < _numargs-1) {
_args[_argcount++] = (char *)strdup(yytext);
_args[_argcount] = NULL;
}
}
\n return (int)_args;
[ \t]+
.
%%
char **getline() {
return (char **)yylex();
}int yywrap(){ return 0;}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?