⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 递归前.y

📁 大学操作系统课程实验:Linux下实现的一个shell解释器。能够比较完整完好地执行Linux下的普通命令、重定向命令、管道命令等多种命令。
💻 Y
字号:
{%
#include global.h
%}
%token BG FG CD HISTORY EXIT PARA SRC;
%%
command        :CDcommand
               |BGcommand
               |FGcommand
               |HISTORYcommand
               |EXITcommand
               ;
CDcommand      :CD
                {
                cStr.cmd="cd";
                }
               |CD SRCstring
               {
               cStr.cmd="cd";
               cStr.src=$2;
               }
               ;
BGcommand      :BG 
                {
                cStr.cmd="bg";
                }
               |BG SRCstring
               {
               cStr.cmd="bg";
               cStr.src=$2;
               }
               ;
FGcommand      :FG
                {
                cStr.cmd="fg";
                }
               |FG SRCstring
               {
               cStr.cmd="fg";
               cStr.src=$2;
               }
               ;
HISTORYcommand :HISTORY
               {
               cStr.cmd="history";
               }
               |HISTORY PARAstring 
               {
               cStr.cmd="history";
               cStr.para=$2;
               }
               |HISTORY SRCstring
               {
               cStr.cmd="history";
               cStr.src=$2;
               }
               |HISTORY PARAstring SRCstring
               {
               cStr.cmd="history";
               cStr.para=$2;
               cStr.src=$3;
               }
               ;    
PARAstring     :PARA
               {
               $$=tokenstring;
               }
               ;  
SRCstring      :SRC
               {
               $$=tokenstring;
               }  
               ;
%%
int yyerror()
{
printf("");//有错
return 0;
}
static int yylex(void){
return getToken();
}
void parse(void){
yyparse();
}


⌨️ 快捷键说明

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