📄 lex.l
字号:
%{#include "y.tab.h"#define MAX_STR_CONST 256int yywrap (void){ return 1;}%}%x l_str%pointer%% static char stringbuf[MAX_STR_CONST]; char *string_buf_ptr; int string_caller; int line_num = 1;args return ARGS;config return CONFIG;flags return FLAGS;initrd return INITRD;kernel return KERNEL;name return NAME;nordload return NORDLOAD;nordprompt return NORDPROMPT;password return PASSWORD;path return PATH;passonargs return PONARGS;ramdisk return RAMDISK;riscos return RISCOS;rdload return RDLOAD;rdprompt return RDPROMPT;rdstart return RDSTART;readonly return READONLY;readwrite return READWRITE;root return ROOT;"{" return '{';"}" return '}';"=" return '=';";" return ';';[0-9]+ { sscanf(yytext, "%d", &yylval.integer); return INTEGER; }\" { string_caller = YY_START; string_buf_ptr = stringbuf; BEGIN (l_str); }<l_str>\" { *string_buf_ptr = '\0'; BEGIN (string_caller); yylval.string = stringbuf; return STRING; }<l_str>\n { fprintf (stderr, "unterminated string constant\n"); exit (1); }<l_str>\\(.|\n) *string_buf_ptr++ = yytext[1];<l_str>[^\\\n\"]+ { char *yytext_p = yytext; while (*yytext_p) *string_buf_ptr++ = *yytext_p++; }"#"[^\n]* /* ignore */[ \t\n]+ /* ignore */<<EOF>> yyterminate ();%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -