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

📄 test.l

📁 对pl0语言程序的语法分析源程序
💻 L
字号:
%{
#include<stdio.h>
#include<stdlib.h>
#include<string.h>

int yylineno=1;                        /*记录当前分析行的号码*/
%}

ident [A-Za-z][A-Za-z0-9]*
number  [1-9][0-9]*
WSPACE   [ \t]+ 

/*   LEX rules    */

%start Comment
%%
"if"|"IF"     {return IF;}
"then"|"THEN"   {return THEN;}
"while"|"WHILE"  {return WHILE;}
"do"|"DO"  {return DO;}
"read"|"READ"  {return READ;}
"write"|"WRITE"  {return WRITE;}
"call"|"CALL"  {return CALL;}
"begin"|"BEGIN"  {return BEG;}
"end"|"END"  {return END;}
"const"|"CONST"  {return CONST;}
"var"|"VAR"  {return VAR;}
"procedure"|"PROCEDURE"  {return PROCEDURE;}
"odd"|"ODD"  {return ODD;}
","    {return PAUSE;}
"."    {return DOT;}
"="    {return ASSIGN;}
":="      {return DASSIGN;}
"+"      {return CONCAT;}
"-"      {return MINUS;}
"*"      {return MULTI;}
"/"      {return DIVIDE;}
"#"      {return JING;}
"<"      {return SMALL;}
">"      {return BIG;}
"<="     {return SM_EQ;}
">="     {return BI_EQ;}
";"      {return END_STMT;}
"("      {return OPEN_PAR;}
")"      {return CLOSE_PAR;}

{number}|"0"   {return NUM;}
{ident}  {return ID;}         /* identifier*/
"\n"       {yylineno++;}                 /* newline: count lines */
{WSPACE}   {}                        /* whitespace: (do nothing) */
.        {return ERRORTOKEN;}       /* other char: error, illegal token */

%%

int yywrap()
{
    return 1;
}




⌨️ 快捷键说明

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