%{ /* * lexer for parsing xml-property source files (*.xml) * */ /* enlarge token buffer to tokenize whole strings */ #undef YYLMAX #define YYLMAX 64000 /* to enable debug output define LEXDEBUG */ #define LEXDEBUG 1 #ifdef LEXDEBUG #define OUTPUT fprintf #else #define OUTPUT(Par1,Par2); #endif /* table of possible token ids */ #include "tokens.h" #include #include #if defined __GNUC__ #pragma GCC system_header #elif defined __SINPRO_CC #pragma disable_warn #elif defined _MSC_VER #pragma warning(push, 1) #endif /* external functions (C++ code, declared as extren "C" */ extern int WorkOnTokenSet( int, char* ); extern int Argument( char * ); extern int InitXrmExport( char * , char * ); extern int EndXrmExport(); extern int GetError(); extern int SetError(); extern char *GetOutputFile( int argc, char* argv[]); extern FILE *GetXrmFile(); extern int isQuiet(); extern void removeTempFile(); extern char* getFilename(); /* forwards */ void YYWarning(); int bText=0; %} %p 24000 %e 1200 %n 500 %% "]*\> { WorkOnTokenSet( XRM_README_START, yytext ); } "" { WorkOnTokenSet( XRM_README_END, yytext ); } "]*\> { WorkOnTokenSet( XRM_README_START, yytext ); } "" { WorkOnTokenSet( XRM_README_END, yytext ); } "]*\> { WorkOnTokenSet( XRM_SECTION_START, yytext ); } "" { WorkOnTokenSet( XRM_SECTION_END, yytext ); } "]*\> { WorkOnTokenSet( XRM_PARAGRAPH_START, yytext ); } "" { WorkOnTokenSet( XRM_PARAGRAPH_END, yytext ); } "]*\> { WorkOnTokenSet( XRM_TEXT_START, yytext ); } "" { WorkOnTokenSet( XRM_TEXT_END, yytext ); } "]*\> { WorkOnTokenSet( XRM_LIST_START, yytext ); } "" { WorkOnTokenSet( XRM_LIST_END, yytext ); } "