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

📄 text1.l

📁 一个用Parser Generator编译的代码
💻 L
字号:
%{
/****************************************************************************
text.l
ParserWizard generated Lex file.

Date: 2008年5月22日
****************************************************************************/

#include "stdlib.h"
#include "string.h"
#define HASHSIZE 256
#define GLOBAL 0
int lineno = 1;
%}

/////////////////////////////////////////////////////////////////////////////
// declarations section

// place any declarations here
//定义了各种符号集
delim [\t\n]
ws {delim}+
letter [A-Za-z]
digit [0-9]
id {letter}({letter}|{digit})*
number {digit}+(\.{digit}+)?(E[+\-]?(digit)+)?
string \"(\\.|[^\\"])*\"
character '(\\.|[^\\'])'
comment (\#[^\n]*)|(\/\*(((\*)*[^\*\/]+(\/)*)*|(\*)*|(\/)*)\*\/)|(\/\/[^\n]*)

%%

/////////////////////////////////////////////////////////////////////////////
// rules section



"char" printf("关键字: %s\n",yytext);
"else" printf("关键字: %s\n",yytext);
"if" printf("关键字: %s\n",yytext);
"int" printf("关键字: %s\n",yytext);
"return" printf("关键字: %s\n",yytext);
"void" printf("关键字: %s\n",yytext);
"while" printf("关键字: %s\n",yytext);

{digit} printf("一个数字:%s\n",yytext);
{number} printf("多个数字:%s\n",yytext);
{letter} printf("一个字母:%s\n",yytext);
{id} printf("id:%s\n",yytext);
{character} printf("一个字符:%s\n",yytext);
{string} printf("字符串:%s\n",yytext);
{comment} printf("注释语句:%s\n",yytext);


"<" printf("LT:%s\n",yytext);
">" printf("GT:%s\n",yytext);
"<=" printf("LE:%s\n",yytext);
">=" printf("GE:%s\n",yytext);
"==" printf("EQ:%s\n",yytext);
"!=" printf("NE:%s\n",yytext);
"{" printf("左大括号%s\n",yytext);
"}" printf("右大括号%s\n",yytext);
"(" printf("左小括号%s\n",yytext);
")" printf("右小括号%s\n",yytext);
"[" printf("左中括号%s\n",yytext);
"]" printf("右中括号%s\n",yytext);
"+" printf("加号%s\n",yytext);
"-" printf("减号%s\n",yytext);
"*" printf("乘号%s\n",yytext);
"/" printf("除号%s\n",yytext);
"%" printf("取余%s\n",yytext);
";" printf("分号%s\n",yytext);
"=" printf("赋值号%s\n",yytext);
"," printf("逗号%s\n",yytext);
. printf("other%c\n",yytext[0]);


%%

/////////////////////////////////////////////////////////////////////////////
// programs section

int main(void)
{
 return yylex();
}

⌨️ 快捷键说明

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