📄 lemonflex-tail.inc
字号:
/* $Id: lemonflex-tail.inc,v 1.1 2001/02/01 20:21:25 gram Exp $ *//* This file is #include'd at the bottom of a Lex/Flex scannerfor use with the Lemon parser. You must have #define'd:MODNAME module name for creating function names:Prototypes:void MODNAME_scanner_text(char *text);void MODNAME_scanner_cleanup(void);int MODNAME_wrap(void);*/#include <cppmagic.h>#define TEXT_FUNC CONCAT(MODNAME,_scanner_text)#define FILE_FUNC CONCAT(MODNAME,_scanner_file)#define CLEANUP_FUNC CONCAT(MODNAME,_scanner_cleanup)#define WRAP_FUNC CONCAT(MODNAME,_wrap)/* Resets scanner and assigns the char* argument * as the text to scan */voidTEXT_FUNC (const char *text){ yy_scan_string(text);}voidFILE_FUNC (FILE* fh){ YY_BUFFER_STATE new_buffer; new_buffer = yy_create_buffer(fh, YY_BUF_SIZE); yy_switch_to_buffer(new_buffer);}voidCLEANUP_FUNC (void){ BEGIN(INITIAL); yy_delete_buffer(YY_CURRENT_BUFFER);}/* Flex has an option '%option noyywrap' so that I don't have to * provide this yywrap function, but in order to maintain portability, * I'll just use this yywrap() function. */intWRAP_FUNC (){ return 1; /* stop at EOF, instead of looking for next file */}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -