📄 hcl.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 + -