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

📄 finclex.l

📁 FinC is Fava in C! A C-like syntax language. It s designed to apply to embededd system.
💻 L
字号:
%{#include <stdio.h>#include <stdlib.h>#include <finctype.h>#include <fincnode.h>#include <finclang.h>#include <fincyacc.h>char string_buf[10000];char *string_buf_ptr;%}DIGIT		[0-9]IDENTIFIER      [a-zA-Z_][a-zA-Z0-9_:]*%x comment%x string%%"/*"                 BEGIN(comment);<comment>[^*\n]*   <comment>"*"+[^*/\n]*<comment>\n          { g_lang_line++; };<comment>"*"+"/"     BEGIN(INITIAL);\"                   {                        string_buf[0] = '\0';                        string_buf_ptr = string_buf;                        BEGIN(string);                     }<string>\\n          *string_buf_ptr++ = '\n';<string>\\t          *string_buf_ptr++ = '\t';<string>\\r          *string_buf_ptr++ = '\r';<string>\\\"         *string_buf_ptr++ = '\"';<string>\\\\         *string_buf_ptr++ = '\\';<string>[^\"]    {                        *string_buf_ptr++ = c_text[0];                     }<string>\"           {                        *string_buf_ptr = '\0';                        strcpy (c_lval.val_string, string_buf);                        BEGIN(INITIAL);                        return V_STRING;                     }"+"                  { return PLUS; }"++"                 { return INC; }"-"                  { return SUB; }"--"                 { return DEC; }"="                  { return ASSIGN; }"=="                 { return EQ; }"!="                 { return NE; }">="                 { return GE; }"<="                 { return LE; }"..."                { return OPT_PARAM; }addrof               { return ADDR_OF; }contentof            { return CONTENT_OF; }import               { return IMPORT; }if                   { return IF; }else                 { return ELSE; }static               { return STATIC; }unsigned             { return UNSIGNED; }native               { return NATIVE; }void                 { return VOID; }char                 { return CHAR; }short                { return SHORT; }int                  { return INT; }float                { return FLOAT; }double               { return DOUBLE; }string               { return STRING; }pointer              { return POINTER; }bool                 { return BOOL; }struct               { return STRUCT; }return               { return RETURN; }for                  { return FOR; }while                { return WHILE; }continue             { return CONTINUE; }break                { return BREAK; }true                 { return V_TRUE; }false                { return V_FALSE; }null                 { return V_NULL; }{IDENTIFIER}         {                        strcpy (c_lval.identifier, c_text);                       return IDENTIFIER;                      }{DIGIT}+             {                       c_lval.val_int = atoi (c_text);                       return V_INT;                     }{DIGIT}+"."{DIGIT}*  {                       c_lval.val_float = atof (c_text);                       return V_FLOAT;                     }[ \t\r]              /* White spaces */[\n]                 { g_lang_line++; }.		     { return c_text[0]; }

⌨️ 快捷键说明

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