lex18.l

来自「GEDCOM语言->PROLOG语言 用LEX和YACC写的简单编译器 」· L 代码 · 共 27 行

L
27
字号
%{
   #include <stdio.h>
   #include <string.h>
   #include "y.tab.h"
%}

%s expect2

%%

<*>[ \t]*[\n\r]+       {BEGIN( INITIAL);return BR;}
<expect2>[ \t]+        {return ESPACE;}
<expect2>[^ \t\r\t@].+ {yylval.var=strdup(yytext);BEGIN( INITIAL);return INFO;}
<expect2>@             {BEGIN(INITIAL);}

^[ \t]+/[0-9]           {}

[1-9]?[0-9]+                 {yylval.entier=atoi(yytext);return NB;}
TRLR           {return TRLR;}


[ \t]+                 {return ESPACE;}

@?#?([A-Z]|[0-9])+@      {yylval.var=strdup(yytext);return REFE;}

[A-Z][A-Z][A-Z]([A-Z]|[0-9])?       {yylval.var=strdup(yytext);BEGIN(expect2);return IDEN;}
%%

⌨️ 快捷键说明

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