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

📄 hcl.lex

📁 深入理解计算机系统 的lab
💻 LEX
字号:
%{#include <stdio.h>#include "node.h"#define YYSTYPE node_ptr#include "hcl.tab.h"extern YYSTYPE yylval;extern int lineno;%}%%[ \r\t\f]              ;[\n]                  lineno++;"#".*\n               lineno++ ;quote                 return(QUOTE);boolsig               return(BOOLARG);bool                  return(BOOL);intsig                return(INTARG);int                   return(INT);in                    return(IN);'[^']*'               yylval = make_quote(yytext); return(QSTRING);[a-zA-Z][a-zA-Z0-9_]* yylval = make_var(yytext); return(VAR);[0-9][0-9]*           yylval = make_num(yytext); return(NUM);-[0-9][0-9]*          yylval = make_num(yytext); return(NUM);"="                   return(ASSIGN);";"                   return(SEMI);":"                   return(COLON);","                   return(COMMA);"("                   return(LPAREN);")"                   return(RPAREN);"{"                   return(LBRACE);"}"                   return(RBRACE);"["                   return(LBRACK);"]"                   return(RBRACK);"&&"                   return(AND);"||"                   return(OR);"!="                  yylval = make_var(yytext); return(COMP);"=="                  yylval = make_var(yytext); return(COMP);"<"                   yylval = make_var(yytext); return(COMP);"<="                  yylval = make_var(yytext); return(COMP);">"                   yylval = make_var(yytext); return(COMP);">="                  yylval = make_var(yytext); return(COMP);"!"                   return(NOT);%%

⌨️ 快捷键说明

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