📄 cffxq.txt
字号:
%{
#include "stdio.h"
#include "ctype.h"
#include "string.h"
#define KEYWORD 0
#define WHILE 1
#define END 2
#define IF 3
#define THEN 4
#define ELSE 5
#define ID 6
#define EQ 7
#define UN 8
#define LT 9
#define LE 10
#define NE 11
#define GT 12
#define GE 13
OUT(int c,char *val);
%}
digit [0-9]
alpha [a-zA-Z]
alnum [a-zA-Z0-9]
%%
while return WHILE;
if return IF;
then return THEN;
else return ELSE;
end return END;
begin1 return KEYWORD;
{alpha}{alnum}* return ID;
{digit}+ return UN;
"=" return EQ;
"<" return LT;
"<>" return NE;
"<=" return LE;
">" return GT;
">=" return GE;
%%
OUT(int c,char *val)
{
printf("(");
switch(c)
{
case 0:printf("begin,%s) ",val);break;
case 1:printf("关键字,%s) ",val);break;
case 2:printf("关键字,%s) ",val);break;
case 3:printf("关键字,%s) ",val);break;
case 4:printf("关键字,%s) ",val);break;
case 5:printf("关键字,%s) ",val);break;
case 6:printf("标志符,%s) ",val);break;
case 7:printf("等号,%s) ",val);break;
case 8:printf("无符数,%s) ",val);break;
case 9:printf("关系符,%s) ",val);break;
case 10:printf("关系符,%s) ",val);break;
case 11:printf("关系符,%s) ",val);break;
case 12:printf("关系符,%s) ",val);break;
case 13:printf("关系符,%s) ",val);break;
default:break;
}
}
yywrap()
{
return 1;
}
void main()
{
int c;
if((yyin=fopen("text.txt","r"))==NULL)
{printf("Can't open file text\n");exit(0);}
while(c=yylex())
{
static j=0;
if(c<=13){OUT(c,yytext);j++;}
else continue;
if(j==j/4*4)printf("\n\n");
}
printf("\n");
printf("\n");
return;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -