lexer.l.svn-base

来自「大学操作系统课程实验:Linux下实现的一个shell解释器。能够比较完整完好地」· SVN-BASE 代码 · 共 36 行

SVN-BASE
36
字号
%{
#include "global.h"
char tokenstring[MAXTOKENLEN+1];
%}
paraletter [-][a-zA-z]+//参数
whitespace [ \t]+//空白符
newline \n//执行命令

%%


"bg"           {return BG;}
"fg"           {return FG;}
"cd"           {return CD;}
"history"      {return HISTORY;}
"exit"         {return EXIT;}
{paraletter}   {return PARA;}
{whitespace}   {/*忽略空白符*/}
{newline}      
               {return SRC;}
          
%%

TokenType getToken(void)
{
TokenType currentToken;
currentToken=yylex();
strncpy(tokenstring,yytext,MAXTOKENLEN);
return currentToken;
}

 



⌨️ 快捷键说明

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