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

📄 mylex.l

📁 vc开发的编译器
💻 L
字号:
%{
#include <ctype.h>
#include <string.h>
#include <math.h>
#include <stdlib.h>
#define false 0
#define ture 1
#include "myYacc.tab.h"
extern int lexverbose;
extern int linecount;
%}
digit	[0-9]
letter	[a-zA-Z]
%%
{digit}+\.{digit}*   {
			yylval.real=(float)atof(yytext);
			if(lexverbose)
			   printf("real:%g\n",yylval.real);
			return(number);
			}
\+			{
			yylval.chr=yytext[0];
			if(lexverbose)
			  printf("opterator:%c\n",yylval.chr);
			return('+');
			}
\-			{
			yylval.chr=yytext[0];
			if(lexverbose)
			  printf("oprator:%c\n",yylval.chr);
			return('-');
			}
\*			{
			yylval.chr=yytext[0];
			if(lexverbose)
			printf("oprator:%c\n",yylval.chr);
			return('*');
			}
\/			{
			yylval.chr=yytext[0];
			if(lexverbose)
			  printf("oprator:%c\n",yylval.chr);
			return('/');
			}
"("			{
			yylval.chr=yytext[0];
			if(lexverbose)
			  printf("separator:%c\n",yylval.chr);
			return('(');
			}
")"			{
			yylval.chr=yytext[0];
			if(lexverbose)
			  printf("separtor:%c\n",yylval.chr);
			return(')');
			}
;			{
			return(';');
			}
\n			{
			printf("line %d\n",linecount);
                        /*  linecount++;     */
			return('\n');
			}
[ \t]+                  {
			printf("lexical analyzer error\n");
			}
quit		{
			printf("Bye!\n");
			exit(0);
			}
%%
int yywrap()
{
return(1);
}

⌨️ 快捷键说明

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