%pointer
%{
/* clex.l by TOYODA Eizi - LGPLv3 */
#include "cdetac.h"
%}
%%
A_[A-Z]{4}[0-9]{2}[A-Z]{4}[0-9]{6}([A-Z]{3})?_C_[A-Z]{4}_[0-9_]+\.txt { ; }
[A-Z]{4}[0-9]{0,2}\ [A-Z]{4}\ [0-9]{6}(\ [A-Z]{3})?	{ return TTAHL; }
\003	{ return TTEOT; }
NNNN	{ return TTEOT; }
=	{ return TTEQ; }
ZCZC	{ ; }
METAR|SPECI|CLIMAT|AMDAR	{ return TTMIMJ; }
[A-Z]{4} {
  if ((yytext[0] == yytext[1]) && (yytext[2] == yytext[3])) {
    return TTMIMJ;
  } else {
    return TTWORD;
  }
}
[0-9\/]+ { return TTWORD; }
[-0-9A-Z\+\&\/]+ { return TTXWORD; }
[\t\r\n\040\200]+ { ; }
. { ; }
%%

#ifdef MAIN
#include <stdio.h>

int main()
{
  int tt;
  while (tt = yylex()) {
    printf("%d: '%s'\n", tt, yytext);
  }
}
#endif
