home *** CD-ROM | disk | FTP | other *** search
/ Mega Top 1 / os2_top1.zip / os2_top1 / APPS / TEKST / GRECODE / MERGED.C < prev    next >
C/C++ Source or Header  |  1993-12-10  |  70KB  |  2,569 lines

  1. /* A lexical scanner generated by flex */
  2.  
  3. /* Scanner skeleton version:
  4.  * $Header: /home/daffy/u0/vern/flex/RCS/flex.skl,v 2.46 93/12/07 11:10:55 vern Exp $
  5.  */
  6.  
  7. #define FLEX_SCANNER
  8.  
  9. #include <stdio.h>
  10.  
  11.  
  12. /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
  13. #ifdef c_plusplus
  14. #ifndef __cplusplus
  15. #define __cplusplus
  16. #endif
  17. #endif
  18.  
  19.  
  20. #ifdef __cplusplus
  21.  
  22. #include <stdlib.h>
  23. #include <unistd.h>
  24.  
  25. /* Use prototypes in function declarations. */
  26. #define YY_USE_PROTOS
  27.  
  28. /* The "const" storage-class-modifier is valid. */
  29. #define YY_USE_CONST
  30.  
  31. #else    /* ! __cplusplus */
  32.  
  33. #ifdef __STDC__
  34.  
  35. #define YY_USE_PROTOS
  36. #define YY_USE_CONST
  37.  
  38. #endif    /* __STDC__ */
  39. #endif    /* ! __cplusplus */
  40.  
  41.  
  42. #ifdef __TURBOC__
  43. #define YY_USE_CONST
  44. #endif
  45.  
  46.  
  47. #ifndef YY_USE_CONST
  48. #ifndef const
  49. #define const
  50. #endif
  51. #endif
  52.  
  53.  
  54. #ifdef YY_USE_PROTOS
  55. #define YY_PROTO(proto) proto
  56. #else
  57. #define YY_PROTO(proto) ()
  58. #endif
  59.  
  60. /* Returned upon end-of-file. */
  61. #define YY_NULL 0
  62.  
  63. /* Promotes a possibly negative, possibly signed char to an unsigned
  64.  * integer for use as an array index.  If the signed char is negative,
  65.  * we want to instead treat it as an 8-bit unsigned char, hence the
  66.  * double cast.
  67.  */
  68. #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  69.  
  70. /* Enter a start condition.  This macro really ought to take a parameter,
  71.  * but we do it the disgusting crufty way forced on us by the ()-less
  72.  * definition of BEGIN.
  73.  */
  74. #define BEGIN yy_start = 1 + 2 *
  75.  
  76. /* Translate the current start state into a value that can be later handed
  77.  * to BEGIN to return to the state.
  78.  */
  79. #define YY_START ((yy_start - 1) / 2)
  80.  
  81. /* Action number for EOF rule of a given start state. */
  82. #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  83.  
  84. /* Special action meaning "start processing a new file".  Now included
  85.  * only for backward compatibility with previous versions of flex.
  86.  */
  87. #define YY_NEW_FILE yyrestart( yyin )
  88.  
  89. #define YY_END_OF_BUFFER_CHAR 0
  90.  
  91. /* Size of default input buffer. */
  92. #define YY_BUF_SIZE 16384
  93.  
  94. typedef struct yy_buffer_state *YY_BUFFER_STATE;
  95.  
  96. extern int yyleng;
  97. extern FILE *yyin, *yyout;
  98.  
  99. #ifdef __cplusplus
  100. extern "C" {
  101. #endif
  102.     extern void *yy_flex_alloc YY_PROTO(( int ));
  103.     extern void *yy_flex_realloc YY_PROTO(( void *ptr, int size ));
  104.     extern void yy_flex_free YY_PROTO(( void * ));
  105.     extern int yywrap YY_PROTO(( void ));
  106.     extern void yy_strcpy YY_PROTO(( char *s1, const char *s2 ));
  107. #ifdef __cplusplus
  108.     }
  109. #endif
  110.  
  111. #define EOB_ACT_CONTINUE_SCAN 0
  112. #define EOB_ACT_END_OF_FILE 1
  113. #define EOB_ACT_LAST_MATCH 2
  114.  
  115. /* The funky do-while in the following #define is used to turn the definition
  116.  * int a single C statement (which needs a semi-colon terminator).  This
  117.  * avoids problems with code like:
  118.  *
  119.  *     if ( condition_holds )
  120.  *        yyless( 5 );
  121.  *    else
  122.  *        do_something_else();
  123.  *
  124.  * Prior to using the do-while the compiler would get upset at the
  125.  * "else" because it interpreted the "if" statement as being all
  126.  * done when it reached the ';' after the yyless() call.
  127.  */
  128.  
  129. /* Return all but the first 'n' matched characters back to the input stream. */
  130.  
  131. #define yyless(n) \
  132.     do \
  133.         { \
  134.         /* Undo effects of setting up yytext. */ \
  135.         *yy_cp = yy_hold_char; \
  136.         yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
  137.         YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  138.         } \
  139.     while ( 0 )
  140.  
  141. #define unput(c) yyunput( c, yytext_ptr )
  142.  
  143.  
  144. struct yy_buffer_state
  145.     {
  146.     FILE *yy_input_file;
  147.  
  148.     char *yy_ch_buf;        /* input buffer */
  149.     char *yy_buf_pos;        /* current position in input buffer */
  150.  
  151.     /* Size of input buffer in bytes, not including room for EOB
  152.      * characters.
  153.      */
  154.     int yy_buf_size;
  155.  
  156.     /* Number of characters read into yy_ch_buf, not including EOB
  157.      * characters.
  158.      */
  159.     int yy_n_chars;
  160.  
  161.     /* Whether this is an "interactive" input source; if so, and
  162.      * if we're using stdio for input, then we want to use getc()
  163.      * instead of fread(), to make sure we stop fetching input after
  164.      * each newline.
  165.      */
  166.     int is_interactive;
  167.  
  168.     /* Whether we've seen an EOF on this buffer. */
  169.     int yy_eof_status;
  170. #define EOF_NOT_SEEN 0
  171.     /* "Pending" happens when the EOF has been seen but there's still
  172.      * some text to process.  Note that when we actually see the EOF,
  173.      * we switch the status back to "not seen" (via yyrestart()), so
  174.      * that the user can continue scanning by just pointing yyin at
  175.      * a new input file.
  176.      */
  177. #define EOF_PENDING 1
  178.     };
  179.  
  180. static YY_BUFFER_STATE yy_current_buffer = 0;
  181.  
  182. /* We provide macros for accessing buffer states in case in the
  183.  * future we want to put the buffer states in a more general
  184.  * "scanner state".
  185.  */
  186. #define YY_CURRENT_BUFFER yy_current_buffer
  187.  
  188.  
  189. /* yy_hold_char holds the character lost when yytext is formed. */
  190. static char yy_hold_char;
  191.  
  192. static int yy_n_chars;        /* number of characters read into yy_ch_buf */
  193.  
  194.  
  195. int yyleng;
  196.  
  197. /* Points to current character in buffer. */
  198. static char *yy_c_buf_p = (char *) 0;
  199. static int yy_init = 1;        /* whether we need to initialize */
  200. static int yy_start = 0;    /* start state number */
  201.  
  202. /* Flag which is used to allow yywrap()'s to do buffer switches
  203.  * instead of setting up a fresh yyin.  A bit of a hack ...
  204.  */
  205. static int yy_did_buffer_switch_on_eof;
  206.  
  207. static void yyunput YY_PROTO(( int c, char *buf_ptr ));
  208. void yyrestart YY_PROTO(( FILE *input_file ));
  209. void yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
  210. void yy_load_buffer_state YY_PROTO(( void ));
  211. YY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
  212. void yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  213. void yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
  214.  
  215. #define yy_new_buffer yy_create_buffer
  216.  
  217. #define INITIAL 0
  218. #define X_ascii_latin1 1
  219. #define X_latex_latin1 2
  220. #define X_texte_latin1 3
  221. typedef unsigned char YY_CHAR;
  222. typedef int yy_state_type;
  223. FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  224. extern char *yytext;
  225. #define yytext_ptr yytext
  226.  
  227. #ifdef __cplusplus
  228. static int yyinput YY_PROTO(( void ));
  229. #else
  230. static int input YY_PROTO(( void ));
  231. #endif
  232.  
  233. static yy_state_type yy_get_previous_state YY_PROTO(( void ));
  234. static yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
  235. static int yy_get_next_buffer YY_PROTO(( void ));
  236. static void yy_fatal_error YY_PROTO(( const char msg[] ));
  237.  
  238. /* Done after the current pattern has been matched and before the
  239.  * corresponding action - sets up yytext.
  240.  */
  241. #define YY_DO_BEFORE_ACTION \
  242.     yytext_ptr = yy_bp; \
  243.     yyleng = yy_cp - yy_bp; \
  244.     yy_hold_char = *yy_cp; \
  245.     *yy_cp = '\0'; \
  246.     yy_c_buf_p = yy_cp;
  247.  
  248. #define YY_END_OF_BUFFER 213
  249. static const short int yy_accept[587] =
  250.     {   0,
  251.         0,    0,    0,    0,    0,    0,    0,    0,  213,  212,
  252.       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
  253.       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
  254.       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
  255.       212,  212,  212,  212,  212,  212,  212,  212,  212,  212,
  256.       212,  212,  212,  212,  212,  212,  212,  212,  212,    0,
  257.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  258.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  259.         0,    0,    0,    0,   72,   87,   91,   71,   74,   63,
  260.        64,   65,   66,   82,   85,   77,    0,  114,   73,    0,
  261.  
  262.        67,    0,    0,    0,    0,    0,    0,    0,  143,    0,
  263.        68,   69,    0,   75,    0,    0,    0,    0,    0,    0,
  264.         0,    0,    0,    0,  151,    0,  153,  152,    0,    0,
  265.       163,  164,  160,    0,  173,  172,    0,    0,  179,  178,
  266.         0,  185,  184,    0,  150,    0,  156,  155,    0,    0,
  267.       169,  170,  166,    0,  176,  175,    0,  182,  181,    0,
  268.       188,  187,    0,    1,    2,    7,   13,   18,   25,   30,
  269.        37,   43,   48,   55,   60,    4,   11,   16,   22,   28,
  270.        32,   34,   41,   46,   52,   58,   62,    9,   39,    8,
  271.        14,   19,   26,   31,   38,   44,   49,   56,   61,    5,
  272.  
  273.         3,    6,   12,   10,   17,   15,   20,   23,   21,   24,
  274.        29,   27,   35,   42,   47,   53,   59,   33,   40,   45,
  275.        51,   57,   36,   50,   54,   74,   96,  103,  107,  113,
  276.       118,    0,  125,  132,  142,  147,  149,    0,   82,   93,
  277.       101,  105,  110,  116,  119,    0,  122,  130,  139,  145,
  278.       148,    0,   85,    0,   97,   98,  114,    0,   73,    0,
  279.        94,  102,  106,  111,  117,    0,  123,  131,  140,  146,
  280.         0,   92,  100,  104,  109,  115,    0,  121,  129,  138,
  281.       144,    0,  126,  127,    0,    0,    0,    0,    0,    0,
  282.         0,  143,    0,  120,   95,  108,  112,  124,  137,  141,
  283.  
  284.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  285.         0,    0,    0,    0,    0,    0,  154,  158,  165,  162,
  286.       174,    0,  180,  186,  190,  157,  159,  171,  168,  177,
  287.       183,  189,  191,    0,  136,    0,    0,    0,    0,    0,
  288.         0,    0,    0,    0,    0,    0,   74,    0,  134,    0,
  289.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  290.         0,   82,   85,   97,    0,   98,    0,  114,   73,  135,
  291.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  292.       133,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  293.         0,  126,    0,  127,    0,    0,    0,  128,    0,    0,
  294.  
  295.         0,    0,    0,   76,  143,  120,    0,    0,    0,    0,
  296.         0,    0,    0,  200,    0,    0,    0,    0,    0,    0,
  297.         0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  298.         0,  161,    0,  167,  136,    0,    0,  134,    0,    0,
  299.        97,   98,  135,    0,    0,  133,    0,    0,  126,  127,
  300.         0,   99,    0,    0,    0,   76,    0,  120,    0,    0,
  301.         0,    0,    0,    0,    0,    0,    0,  202,    0,    0,
  302.       206,    0,    0,    0,    0,    0,  205,  136,  134,  135,
  303.       133,    0,   84,    0,    0,    0,   76,    0,    0,    0,
  304.         0,    0,    0,    0,  211,    0,    0,    0,    0,    0,
  305.  
  306.         0,  208,    0,    0,    0,    0,    0,  194,    0,    0,
  307.       210,  193,    0,    0,    0,    0,  204,    0,    0,    0,
  308.       209,    0,   89,   88,   90,    0,    0,    0,    0,  201,
  309.         0,  197,    0,    0,    0,    0,    0,   89,    0,   88,
  310.         0,   90,    0,    0,    0,    0,    0,    0,    0,  195,
  311.         0,    0,  203,  207,    0,    0,   70,   89,   88,   90,
  312.         0,    0,    0,    0,    0,    0,  192,  196,  198,  199,
  313.        70,    0,    0,    0,   86,   80,   81,    0,   70,   83,
  314.        79,    0,    0,    0,   78,    0
  315.     } ;
  316.  
  317. static const int yy_ec[256] =
  318.     {   0,
  319.         1,    1,    1,    1,    1,    1,    1,    2,    3,    1,
  320.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  321.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  322.         1,    4,    5,    6,    7,    8,    9,   10,   11,    1,
  323.         1,    1,   12,   13,   14,    1,   15,    1,   16,   17,
  324.        18,   19,    1,    1,    1,    1,    1,   20,    1,   21,
  325.         1,   22,   23,    1,   24,   25,   26,   27,   28,   27,
  326.        29,   30,   31,   32,   27,   32,   27,   33,   34,   27,
  327.        27,   27,   35,   36,   37,   27,   27,   27,   38,   27,
  328.         1,   39,    1,   40,   41,   42,   43,   44,   45,   46,
  329.  
  330.        47,   48,   49,   50,   51,   32,   52,   53,   54,   55,
  331.        56,   57,   27,   58,   59,   60,   61,   27,   27,   62,
  332.        63,   27,   64,    1,   65,   66,    1,    1,    1,    1,
  333.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  334.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  335.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  336.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  337.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  338.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  339.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  340.  
  341.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  342.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  343.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  344.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  345.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  346.         1,    1,    1,    1,    1
  347.     } ;
  348.  
  349. static const int yy_meta[67] =
  350.     {   0,
  351.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  352.         1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  353.         1,    1,    1,    2,    2,    2,    2,    2,    2,    2,
  354.         2,    2,    2,    2,    2,    2,    2,    2,    1,    1,
  355.         1,    1,    2,    2,    2,    2,    2,    2,    2,    2,
  356.         2,    2,    2,    2,    2,    2,    2,    2,    2,    2,
  357.         2,    2,    2,    1,    1,    1
  358.     } ;
  359.  
  360. static const short int yy_base[600] =
  361.     {   0,
  362.         0,    0,    0,    0,    7,   18,   66,    0,  878,  879,
  363.       875,  874,  873,  872,  871,  870,  869,  868,  867,  866,
  364.       865,  864,  863,  862,  861,  860,  859,  858,  857,  856,
  365.       855,  854,  853,  852,  851,  841,  840,  839,  129,  807,
  366.       172,  837,  138,  834,  139,  169,  835,  170,  185,   19,
  367.         0,  803,  186,  831,  193,  214,  218,  223,   30,  245,
  368.       283,    9,  323,  837,  836,  244,  828,  241,  251,  774,
  369.       283,  289,  828,  361,  399,  293,  825,  316,  357,  771,
  370.       395,  367,  825,  338,  879,  879,  879,  879,  459,  879,
  371.       879,  879,  879,  521,    0,  879,   20,  233,  238,  562,
  372.  
  373.       879,  603,   15,  792,  226,  776,  789,  785,  241,  772,
  374.       879,  879,  410,  879,   95,  783,  104,   89,  770,  782,
  375.       769,   91,    3,  761,  879,    0,  879,  879,  395,    0,
  376.       810,  879,  879,    0,  879,  879,  143,    0,  879,  879,
  377.         0,  879,  879,    0,  879,    0,  879,  879,  415,    0,
  378.       809,  879,  879,    0,  879,  879,    0,  879,  879,    0,
  379.       879,  879,    0,  879,  879,  879,  879,  879,  879,  879,
  380.       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
  381.       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
  382.       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
  383.  
  384.       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
  385.       879,  879,  879,  879,  879,  879,  879,  879,  879,  879,
  386.       879,  879,  879,  879,  879,  274,  879,  879,  879,  879,
  387.       879,  768,  879,  879,  879,  879,  879,  644,  312,  879,
  388.       879,  879,  879,  879,  879,  767,  879,  879,  879,  879,
  389.       879,  686,  338,  752,  349,  361,  417,  751,  437,  750,
  390.       879,  879,  879,  879,  879,  763,  879,  879,  879,  879,
  391.       728,  879,  879,  879,  879,  879,  761,  879,  879,  879,
  392.       879,  766,  444,  464,  766,    7,  754,  142,  765,  751,
  393.       757,  466,  739,  469,  879,  879,  879,  879,  879,  879,
  394.  
  395.       461,  312,  758,  742,  744,  749,  741,  752,  742,  741,
  396.       740,  732,  103,  195,  744,  734,  879,  879,  879,  774,
  397.       879,  110,  879,  879,  879,  879,  879,  879,  772,  879,
  398.       879,  879,  879,  717,  474,  716,  715,  714,  713,  712,
  399.       725,  709,  708,  707,  705,  704,  879,  703,  476,  701,
  400.       699,  698,  696,  695,  693,  706,  690,  689,  688,  685,
  401.       683,  879,  879,  506,  681,  508,  680,  879,  879,  510,
  402.       679,  678,  676,  675,  674,  687,  672,  671,  670,  669,
  403.       515,  667,  666,  665,  663,  662,  675,  657,  656,  654,
  404.       653,  523,  651,  528,  650,  661,  686,  879,  651,  641,
  405.  
  406.       639,  658,  640,  531,  879,  533,  636,  634,  633,  632,
  407.       631,  630,  629,  879,  631,  639,  646,  632,  625,  191,
  408.       624,  635,  292,  349,  621,  376,  618,  634,  631,  620,
  409.       627,  879,  380,  879,  538,  604,  601,  540,  600,  598,
  410.       879,  879,  543,  597,  596,  547,  595,  593,  879,  879,
  411.       598,  879,  599,  230,  591,  550,  589,  879,  606,  603,
  412.       600,  602,  598,  601,  587,  385,  569,  879,  576,  571,
  413.       879,  548,  549,  547,  404,  540,  879,  879,  879,  879,
  414.       879,  525,  879,  558,  556,  555,  879,  408,  500,  490,
  415.       425,  469,  478,  454,  879,  452,  454,  480,  449,  439,
  416.  
  417.       435,  879,  485,  439,  251,  445,  126,  879,  412,  396,
  418.       879,  879,  501,  393,  542,  375,  879,  367,  355,  350,
  419.       879,  344,  553,  572,  577,  283,  549,  563,  343,  879,
  420.       341,  879,  583,  588,  336,  333,  325,  609,  302,  612,
  421.       285,  616,  283,  284,  289,  320,  316,  311,  263,  879,
  422.       604,  615,  879,  879,  619,  623,  629,  879,  879,  879,
  423.       279,  277,  215,  210,  209,  208,  879,  879,  879,  879,
  424.       644,  184,  153,  149,  879,  879,  879,  124,  879,  879,
  425.       879,  117,  148,    0,  879,  879,  827,   30,   25,   15,
  426.        14,   13,   12,    8,    7,    6,    5,    3,    0
  427.  
  428.     } ;
  429.  
  430. static const short int yy_def[600] =
  431.     {   0,
  432.       587,  587,  587,    3,  587,  587,  586,    7,  586,  586,
  433.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  434.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  435.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  436.       586,   41,  586,  586,  586,  586,  586,  586,  586,  586,
  437.        41,   41,  586,  586,  586,  586,  586,  586,  586,  586,
  438.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  439.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  440.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  441.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  442.  
  443.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  444.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  445.       586,  586,  586,  586,  586,  588,  586,  586,  586,  589,
  446.       586,  586,  586,  590,  586,  586,  586,  591,  586,  586,
  447.       592,  586,  586,  593,  586,  594,  586,  586,  586,  595,
  448.       586,  586,  586,  596,  586,  586,  597,  586,  586,  598,
  449.       586,  586,  599,  586,  586,  586,  586,  586,  586,  586,
  450.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  451.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  452.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  453.  
  454.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  455.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  456.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  457.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  458.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  459.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  460.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  461.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  462.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  463.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  464.  
  465.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  466.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  467.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  468.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  469.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  470.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  471.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  472.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  473.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  474.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  475.  
  476.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  477.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  478.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  479.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  480.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  481.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  482.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  483.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  484.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  485.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  486.  
  487.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  488.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  489.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  490.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  491.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  492.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  493.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  494.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  495.       586,  586,  586,  586,  586,    0,  586,  586,  586,  586,
  496.       586,  586,  586,  586,  586,  586,  586,  586,  586
  497.  
  498.     } ;
  499.  
  500. static const short int yy_nxt[946] =
  501.     {   0,
  502.       586,  333,  253,  253,  332,   11,  331,  330,  328,  326,
  503.        12,   36,   13,  325,  324,  323,  321,   37,  397,   14,
  504.        15,   16,   36,   17,  144,   18,  319,   19,   37,   38,
  505.        20,  317,   21,   22,  188,  163,   23,   24,  144,   25,
  506.        38,   26,   27,  255,   28,   39,   29,  256,   40,  163,
  507.        30,  398,  315,  189,   31,   32,   39,  283,  316,   40,
  508.        33,  284,   34,  254,  585,   35,   41,   41,   41,   41,
  509.        41,   41,   41,   41,   41,   41,   42,   41,   41,   41,
  510.        41,   41,   41,   41,   41,   41,   41,   41,   41,   43,
  511.        10,   44,   10,   45,   10,   10,   46,   47,   10,   48,
  512.  
  513.        10,   47,   49,   50,   41,   51,   41,   52,   53,   10,
  514.        54,   10,   55,   10,   10,   10,   56,   10,   47,   10,
  515.        10,   57,   10,   10,   10,   47,   58,   10,   59,   41,
  516.        41,   41,   88,  313,   89,   90,   91,   92,   93,   94,
  517.       433,   95,   96,  126,  130,  302,  305,  308,  303,  131,
  518.       309,  314,   97,  426,  306,  584,  427,  126,  130,  307,
  519.       433,  583,   98,   99,  526,  527,  322,  400,  100,  101,
  520.       102,  103,  104,  105,  134,  138,  106,  127,  132,  128,
  521.       133,  582,  107,  108,  109,  322,  401,  110,  134,  138,
  522.       141,  146,  111,  112,  113,  115,  116,  117,  150,  118,
  523.  
  524.       119,  120,  121,  151,  141,  146,  122,  123,  135,  139,
  525.       136,  140,  150,  581,  115,  116,  117,  580,  124,  154,
  526.       119,  120,  121,  157,  142,  147,  143,  148,  160,  286,
  527.       122,  123,  152,  154,  153,  257,  257,  157,  428,  464,
  528.       259,  259,  160,  292,  292,  484,  167,  485,  579,  166,
  529.       465,  177,  429,  155,  176,  156,  168,  158,  578,  159,
  530.       191,  178,  161,  190,  162,  164,  165,  523,  166,  524,
  531.       192,  287,  167,  577,  576,  168,  226,  226,  169,  575,
  532.       203,  170,  204,  200,  574,  201,  573,  171,  169,  288,
  533.       205,  172,  206,  179,  170,  173,  258,  468,  171,  180,
  534.  
  535.       174,  260,  193,  182,  293,  175,  176,  566,  194,  202,
  536.       177,  468,  195,  178,  239,  239,  179,  414,  565,  180,
  537.       181,  172,  208,  564,  209,  182,  183,  563,  211,  183,
  538.       212,  414,  213,  184,  218,  196,  544,  334,  185,  545,
  539.       253,  253,  562,  186,  561,  187,  190,  560,  210,  559,
  540.       191,  364,  364,  192,  469,  214,  193,  219,  223,  194,
  541.       415,  202,  173,  366,  366,  195,  558,  184,  469,  196,
  542.       207,  210,  175,  197,  557,  348,  197,  186,  198,  556,
  543.       223,  471,  555,  199,  200,  477,  199,  552,  203,  551,
  544.       495,  205,  224,  225,  208,  471,  215,  211,  220,  477,
  545.  
  546.       174,  254,  537,  213,  495,  185,  217,  214,  222,  502,
  547.       536,  215,  365,  508,  198,  535,  216,  534,  318,  257,
  548.       257,  217,  201,  502,  367,  533,  204,  508,  318,  206,
  549.       511,  318,  209,  295,  216,  212,  221,  318,  327,  259,
  550.       259,  218,  296,  297,  511,  219,  392,  392,  327,  220,
  551.       318,  327,  298,  531,  221,  318,  529,  327,  528,  222,
  552.       225,  226,  226,  525,  299,  300,  394,  394,  292,  292,
  553.       327,  406,  406,  301,  512,  327,  435,  435,  438,  438,
  554.       258,  522,  227,  520,  408,  517,  228,  519,  512,  229,
  555.       521,  518,  230,  409,  410,  231,  516,  232,  515,  517,
  556.  
  557.       260,  233,  514,  411,  521,  234,  530,  393,  364,  364,
  558.       366,  366,  443,  443,  235,  412,  413,  446,  446,  236,
  559.       530,  237,  238,  239,  239,  392,  392,  395,  513,  293,
  560.       394,  394,  407,  456,  456,  406,  406,  436,  510,  439,
  561.       435,  435,  438,  438,  240,  443,  443,  532,  241,  446,
  562.       446,  242,  456,  456,  243,  538,  538,  244,  245,  246,
  563.       509,  532,  507,  247,  546,  547,  548,  248,  550,  365,
  564.       506,  367,  505,  444,  540,  540,  249,  504,  447,  542,
  565.       542,  250,  550,  251,  252,  261,  393,  549,  553,  262,
  566.       503,  395,  263,  554,  457,  264,  407,  501,  265,  500,
  567.  
  568.       266,  436,  553,  439,  267,  499,  444,  554,  268,  567,
  569.       447,  538,  538,  457,  540,  540,  539,  269,  542,  542,
  570.       568,  498,  270,  567,  569,  271,  272,  497,  570,  496,
  571.       273,  571,  571,  274,  568,  541,  275,  494,  569,  276,
  572.       543,  277,  570,  493,  492,  278,  571,  571,  491,  279,
  573.       490,  489,  488,  487,  486,  483,  482,  481,  280,  481,
  574.       480,  480,  479,  281,  479,  478,  282,  336,  478,  476,
  575.       475,  337,  539,  474,  338,  541,  473,  339,  472,  543,
  576.       340,  470,  341,  467,  466,  463,  342,  462,  461,  460,
  577.       343,  459,  572,  300,  299,  298,  297,  296,  295,  344,
  578.  
  579.       458,  455,  454,  398,  345,  452,  346,  572,  347,  350,
  580.       453,  452,  451,  351,  450,  449,  352,  281,  280,  353,
  581.       279,  278,  354,  355,  356,  448,  276,  275,  357,  274,
  582.       273,  272,  358,  270,  269,  268,  267,  445,  265,  264,
  583.       263,  359,  262,  261,  442,  441,  360,  251,  361,  250,
  584.       362,  371,  249,  248,  247,  372,  440,  245,  373,  244,
  585.       243,  374,  242,  241,  375,  240,  376,  362,  237,  236,
  586.       377,  235,  234,  233,  378,  437,  231,  230,  229,  228,
  587.       227,  347,  434,  379,  432,  431,  430,  425,  380,  382,
  588.       424,  423,  422,  383,  421,  420,  384,  419,  418,  385,
  589.  
  590.       417,  416,  386,  405,  387,  404,  403,  402,  388,  399,
  591.       396,  381,  389,  370,  369,  368,  363,  349,  335,  329,
  592.       320,  390,  309,  312,  311,  310,  391,   10,   10,  304,
  593.       294,  291,  290,  289,  285,  187,  224,  189,  181,  207,
  594.       188,  165,  164,  149,  145,  137,  129,  125,  114,   87,
  595.        86,   85,   84,   83,   82,   81,   80,   79,   78,   77,
  596.        76,   75,   74,   73,   72,   71,   70,   69,   68,   67,
  597.        66,   65,   64,   63,   62,   61,   60,  586,    9,  586,
  598.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  599.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  600.  
  601.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  602.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  603.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  604.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  605.       586,  586,  586,  586,  586
  606.     } ;
  607.  
  608. static const short int yy_chk[946] =
  609.     {   0,
  610.         0,  599,   95,   95,  598,    3,  597,  596,  595,  594,
  611.         3,    5,    3,  593,  592,  591,  590,    5,  286,    3,
  612.         3,    3,    6,    3,   50,    3,  589,    3,    6,    5,
  613.         3,  588,    3,    3,   62,   59,    3,    3,   50,    3,
  614.         6,    3,    3,   97,    3,    5,    3,   97,    5,   59,
  615.         3,  286,  123,   62,    3,    3,    6,  103,  123,    6,
  616.         3,  103,    3,   95,  584,    3,    7,    7,    7,    7,
  617.         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
  618.         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
  619.         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
  620.  
  621.         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
  622.         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
  623.         7,    7,    7,    7,    7,    7,    7,    7,    7,    7,
  624.         7,    7,   39,  122,   39,   39,   39,   39,   39,   39,
  625.       322,   39,   39,   43,   45,  115,  117,  118,  115,   45,
  626.       118,  122,   39,  313,  117,  583,  313,   43,   45,  117,
  627.       322,  582,   39,   39,  507,  507,  137,  288,   39,   39,
  628.        39,   39,   39,   39,   46,   48,   39,   43,   45,   43,
  629.        45,  578,   39,   39,   39,  137,  288,   39,   46,   48,
  630.        49,   53,   39,   39,   39,   41,   41,   41,   55,   41,
  631.  
  632.        41,   41,   41,   55,   49,   53,   41,   41,   46,   48,
  633.        46,   48,   55,  574,   41,   41,   41,  573,   41,   56,
  634.        41,   41,   41,   57,   49,   53,   49,   53,   58,  105,
  635.        41,   41,   55,   56,   55,   98,   98,   57,  314,  420,
  636.        99,   99,   58,  109,  109,  454,   68,  454,  572,   66,
  637.       420,   68,  314,   56,   66,   56,   69,   57,  566,   57,
  638.        68,   69,   58,   66,   58,   60,   60,  505,   60,  505,
  639.        69,  105,   60,  565,  564,   60,  226,  226,   60,  563,
  640.        68,   60,   68,   66,  562,   66,  561,   60,   71,  105,
  641.        69,   60,   69,   71,   72,   60,   98,  423,   76,   72,
  642.  
  643.        60,   99,   71,   76,  109,   60,   61,  549,   72,   66,
  644.        61,  423,   76,   61,  239,  239,   61,  302,  548,   61,
  645.        61,   78,   71,  547,   71,   61,   78,  546,   72,   61,
  646.        72,  302,   76,   61,   76,   78,  526,  226,   61,  526,
  647.       253,  253,  545,   61,  544,   61,   63,  543,   71,  541,
  648.        63,  255,  255,   63,  424,   78,   63,   78,   76,   63,
  649.       302,   84,   79,  256,  256,   63,  539,   79,  424,   63,
  650.        84,   84,   82,   63,  537,  239,   79,   82,   63,  536,
  651.        84,  426,  535,   63,   74,  433,   82,  531,   74,  529,
  652.       466,   74,   84,   84,   74,  426,   79,   74,   79,  433,
  653.  
  654.        81,  253,  522,   74,  466,   81,   82,   74,   82,  475,
  655.       520,   74,  255,  488,   81,  519,   74,  518,  129,  257,
  656.       257,   74,   75,  475,  256,  516,   75,  488,  129,   75,
  657.       491,  129,   75,  113,   81,   75,   81,  129,  149,  259,
  658.       259,   75,  113,  113,  491,   75,  283,  283,  149,   75,
  659.       129,  149,  113,  514,   75,  129,  510,  149,  509,   75,
  660.        81,   89,   89,  506,  113,  113,  284,  284,  292,  292,
  661.       149,  294,  294,  113,  492,  149,  335,  335,  349,  349,
  662.       257,  504,   89,  501,  301,  498,   89,  500,  492,   89,
  663.       503,  499,   89,  301,  301,   89,  497,   89,  496,  498,
  664.  
  665.       259,   89,  494,  301,  503,   89,  513,  283,  364,  364,
  666.       366,  366,  370,  370,   89,  301,  301,  381,  381,   89,
  667.       513,   89,   89,   94,   94,  392,  392,  284,  493,  292,
  668.       394,  394,  294,  404,  404,  406,  406,  335,  490,  349,
  669.       435,  435,  438,  438,   94,  443,  443,  515,   94,  446,
  670.       446,   94,  456,  456,   94,  523,  523,   94,   94,   94,
  671.       489,  515,  486,   94,  527,  527,  527,   94,  528,  364,
  672.       485,  366,  484,  370,  524,  524,   94,  482,  381,  525,
  673.       525,   94,  528,   94,   94,  100,  392,  527,  533,  100,
  674.       476,  394,  100,  534,  404,  100,  406,  474,  100,  473,
  675.  
  676.       100,  435,  533,  438,  100,  472,  443,  534,  100,  551,
  677.       446,  538,  538,  456,  540,  540,  523,  100,  542,  542,
  678.       552,  470,  100,  551,  555,  100,  102,  469,  556,  467,
  679.       102,  557,  557,  102,  552,  524,  102,  465,  555,  102,
  680.       525,  102,  556,  464,  463,  102,  571,  571,  462,  102,
  681.       461,  460,  459,  457,  455,  453,  451,  448,  102,  447,
  682.       445,  444,  440,  102,  439,  437,  102,  238,  436,  431,
  683.       430,  238,  538,  429,  238,  540,  428,  238,  427,  542,
  684.       238,  425,  238,  422,  421,  419,  238,  418,  417,  416,
  685.       238,  415,  557,  413,  412,  411,  410,  409,  408,  238,
  686.  
  687.       407,  403,  402,  401,  238,  400,  238,  571,  238,  252,
  688.       399,  397,  396,  252,  395,  393,  252,  391,  390,  252,
  689.       389,  388,  252,  252,  252,  387,  386,  385,  252,  384,
  690.       383,  382,  252,  380,  379,  378,  377,  376,  375,  374,
  691.       373,  252,  372,  371,  367,  365,  252,  361,  252,  360,
  692.       252,  271,  359,  358,  357,  271,  356,  355,  271,  354,
  693.       353,  271,  352,  351,  271,  350,  271,  348,  346,  345,
  694.       271,  344,  343,  342,  271,  341,  340,  339,  338,  337,
  695.       336,  334,  329,  271,  320,  316,  315,  312,  271,  282,
  696.       311,  310,  309,  282,  308,  307,  282,  306,  305,  282,
  697.  
  698.       304,  303,  282,  293,  282,  291,  290,  289,  282,  287,
  699.       285,  277,  282,  266,  260,  258,  254,  246,  232,  151,
  700.       131,  282,  124,  121,  120,  119,  282,  587,  587,  116,
  701.       110,  108,  107,  106,  104,   83,   80,   77,   73,   70,
  702.        67,   65,   64,   54,   52,   47,   44,   42,   40,   38,
  703.        37,   36,   35,   34,   33,   32,   31,   30,   29,   28,
  704.        27,   26,   25,   24,   23,   22,   21,   20,   19,   18,
  705.        17,   16,   15,   14,   13,   12,   11,    9,  586,  586,
  706.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  707.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  708.  
  709.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  710.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  711.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  712.       586,  586,  586,  586,  586,  586,  586,  586,  586,  586,
  713.       586,  586,  586,  586,  586
  714.     } ;
  715.  
  716. static yy_state_type yy_last_accepting_state;
  717. static char *yy_last_accepting_cpos;
  718.  
  719. /* The intent behind this definition is that it'll catch
  720.  * any uses of REJECT which flex missed.
  721.  */
  722. #define REJECT reject_used_but_not_detected
  723. #define yymore() yymore_used_but_not_detected
  724. #define YY_MORE_ADJ 0
  725. char *yytext;
  726. /* This file is generated automatically by mergelex.awk.  */
  727. #include "recode.h"
  728. #ifdef USE_FPUTC
  729. #define output(ch) fputc (ch, yyout)
  730. #else
  731. #define output(ch) putc (ch, yyout)
  732. #endif
  733. void texte_latin1_diaeresis (void);
  734.  
  735. /* Macros after this point can all be overridden by user definitions in
  736.  * section 1.
  737.  */
  738.  
  739. /* Amount of stuff to slurp up with each read. */
  740. #ifndef YY_READ_BUF_SIZE
  741. #define YY_READ_BUF_SIZE 8192
  742. #endif
  743.  
  744. /* Copy whatever the last rule matched to the standard output. */
  745.  
  746. #ifndef ECHO
  747. /* This used to be an fputs(), but since the string might contain NUL's,
  748.  * we now use fwrite().
  749.  */
  750. #define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
  751. #endif
  752.  
  753. /* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  754.  * is returned in "result".
  755.  */
  756. #ifndef YY_INPUT
  757. #define YY_INPUT(buf,result,max_size) \
  758.     if ( yy_current_buffer->is_interactive ) \
  759.         result = ((int) (buf[0] = getc( yyin ))) == EOF ? 0 : 1; \
  760.     else if ( ((result = fread( (char *) buf, 1, max_size, yyin )) == 0)\
  761.           && ferror( yyin ) ) \
  762.         YY_FATAL_ERROR( "input in flex scanner failed" );
  763. #endif
  764.  
  765. /* No semi-colon after return; correct usage is to write "yyterminate();" -
  766.  * we don't want an extra ';' after the "return" because that will cause
  767.  * some compilers to complain about unreachable statements.
  768.  */
  769. #ifndef yyterminate
  770. #define yyterminate() return YY_NULL
  771. #endif
  772.  
  773. /* Report a fatal error. */
  774. #ifndef YY_FATAL_ERROR
  775. #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  776. #endif
  777.  
  778. /* Default declaration of generated scanner - a define so the user can
  779.  * easily add parameters.
  780.  */
  781. #ifndef YY_DECL
  782. #define YY_DECL int yylex YY_PROTO(( void ))
  783. #endif
  784.  
  785. /* Code executed at the beginning of each rule, after yytext and yyleng
  786.  * have been set up.
  787.  */
  788. #ifndef YY_USER_ACTION
  789. #define YY_USER_ACTION
  790. #endif
  791.  
  792. /* Code executed at the end of each rule. */
  793. #ifndef YY_BREAK
  794. #define YY_BREAK break;
  795. #endif
  796.  
  797. YY_DECL
  798.     {
  799.     register yy_state_type yy_current_state;
  800.     register char *yy_cp, *yy_bp;
  801.     register int yy_act;
  802.  
  803.  
  804.  
  805.  
  806.  
  807.     if ( yy_init )
  808.         {
  809. #ifdef YY_USER_INIT
  810.         YY_USER_INIT;
  811. #endif
  812.  
  813.         if ( ! yy_start )
  814.             yy_start = 1;    /* first start state */
  815.  
  816.         if ( ! yyin )
  817.             yyin = stdin;
  818.  
  819.         if ( ! yyout )
  820.             yyout = stdout;
  821.  
  822.         if ( yy_current_buffer )
  823.             yy_init_buffer( yy_current_buffer, yyin );
  824.         else
  825.             yy_current_buffer =
  826.                 yy_create_buffer( yyin, YY_BUF_SIZE );
  827.  
  828.         yy_load_buffer_state();
  829.  
  830.         yy_init = 0;
  831.         }
  832.  
  833.     while ( 1 )        /* loops until end-of-file is reached */
  834.         {
  835.         yy_cp = yy_c_buf_p;
  836.  
  837.         /* Support of yytext. */
  838.         *yy_cp = yy_hold_char;
  839.  
  840.         /* yy_bp points to the position in yy_ch_buf of the start of
  841.          * the current run.
  842.          */
  843.         yy_bp = yy_cp;
  844.  
  845.         yy_current_state = yy_start;
  846. yy_match:
  847.         do
  848.             {
  849.             register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
  850.             if ( yy_accept[yy_current_state] )
  851.                 {
  852.                 yy_last_accepting_state = yy_current_state;
  853.                 yy_last_accepting_cpos = yy_cp;
  854.                 }
  855.             while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  856.                 {
  857.                 yy_current_state = (int) yy_def[yy_current_state];
  858.                 if ( yy_current_state >= 587 )
  859.                     yy_c = yy_meta[(unsigned int) yy_c];
  860.                 }
  861.             yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  862.             ++yy_cp;
  863.             }
  864.         while ( yy_base[yy_current_state] != 879 );
  865.  
  866. yy_find_action:
  867.         yy_act = yy_accept[yy_current_state];
  868.  
  869.         YY_DO_BEFORE_ACTION;
  870.  
  871.  
  872. do_action:    /* This label is used only to access EOF actions. */
  873.  
  874.  
  875.         switch ( yy_act )
  876.     { /* beginning of action switch */
  877.             case 0: /* must back up */
  878.             /* undo the effects of YY_DO_BEFORE_ACTION */
  879.             *yy_cp = yy_hold_char;
  880.             yy_cp = yy_last_accepting_cpos;
  881.             yy_current_state = yy_last_accepting_state;
  882.             goto yy_find_action;
  883.  
  884. case 1:
  885. YY_USER_ACTION
  886. { output (171); }
  887.     YY_BREAK
  888. case 2:
  889. YY_USER_ACTION
  890. { output (187); }
  891.     YY_BREAK
  892. case 3:
  893. YY_USER_ACTION
  894. { output (192); }
  895.     YY_BREAK
  896. case 4:
  897. YY_USER_ACTION
  898. { output (193); }
  899.     YY_BREAK
  900. case 5:
  901. YY_USER_ACTION
  902. { output (194); }
  903.     YY_BREAK
  904. case 6:
  905. YY_USER_ACTION
  906. { output (195); }
  907.     YY_BREAK
  908. case 7:
  909. YY_USER_ACTION
  910. { if (diaeresis_char == '"')
  911.                     output (196);
  912.                   else
  913.                     ECHO;
  914.                 }
  915.     YY_BREAK
  916. case 8:
  917. YY_USER_ACTION
  918. { if (diaeresis_char == ':')
  919.                     output (196);
  920.                   else
  921.                     ECHO;
  922.                 }
  923.     YY_BREAK
  924. case 9:
  925. YY_USER_ACTION
  926. { output (199); }
  927.     YY_BREAK
  928. case 10:
  929. YY_USER_ACTION
  930. { output (200); }
  931.     YY_BREAK
  932. case 11:
  933. YY_USER_ACTION
  934. { output (201); }
  935.     YY_BREAK
  936. case 12:
  937. YY_USER_ACTION
  938. { output (202); }
  939.     YY_BREAK
  940. case 13:
  941. YY_USER_ACTION
  942. { if (diaeresis_char == '"')
  943.                     output (203);
  944.                   else
  945.                     ECHO;
  946.                 }
  947.     YY_BREAK
  948. case 14:
  949. YY_USER_ACTION
  950. { if (diaeresis_char == ':')
  951.                     output (203);
  952.                   else
  953.                     ECHO;
  954.                 }
  955.     YY_BREAK
  956. case 15:
  957. YY_USER_ACTION
  958. { output (204); }
  959.     YY_BREAK
  960. case 16:
  961. YY_USER_ACTION
  962. { output (205); }
  963.     YY_BREAK
  964. case 17:
  965. YY_USER_ACTION
  966. { output (206); }
  967.     YY_BREAK
  968. case 18:
  969. YY_USER_ACTION
  970. { if (diaeresis_char == '"')
  971.                     output (207);
  972.                   else
  973.                     ECHO;
  974.                 }
  975.     YY_BREAK
  976. case 19:
  977. YY_USER_ACTION
  978. { if (diaeresis_char == ':')
  979.                     output (207);
  980.                   else
  981.                     ECHO;
  982.                 }
  983.     YY_BREAK
  984. case 20:
  985. YY_USER_ACTION
  986. { output (209); }
  987.     YY_BREAK
  988. case 21:
  989. YY_USER_ACTION
  990. { output (210); }
  991.     YY_BREAK
  992. case 22:
  993. YY_USER_ACTION
  994. { output (211); }
  995.     YY_BREAK
  996. case 23:
  997. YY_USER_ACTION
  998. { output (212); }
  999.     YY_BREAK
  1000. case 24:
  1001. YY_USER_ACTION
  1002. { output (213); }
  1003.     YY_BREAK
  1004. case 25:
  1005. YY_USER_ACTION
  1006. { if (diaeresis_char == '"')
  1007.                     output (214);
  1008.                   else
  1009.                     ECHO;
  1010.                 }
  1011.     YY_BREAK
  1012. case 26:
  1013. YY_USER_ACTION
  1014. { if (diaeresis_char == ':')
  1015.                     output (214);
  1016.                   else
  1017.                     ECHO;
  1018.                 }
  1019.     YY_BREAK
  1020. case 27:
  1021. YY_USER_ACTION
  1022. { output (217); }
  1023.     YY_BREAK
  1024. case 28:
  1025. YY_USER_ACTION
  1026. { output (218); }
  1027.     YY_BREAK
  1028. case 29:
  1029. YY_USER_ACTION
  1030. { output (219); }
  1031.     YY_BREAK
  1032. case 30:
  1033. YY_USER_ACTION
  1034. { if (diaeresis_char == '"')
  1035.                     output (220);
  1036.                   else
  1037.                     ECHO;
  1038.                 }
  1039.     YY_BREAK
  1040. case 31:
  1041. YY_USER_ACTION
  1042. { if (diaeresis_char == ':')
  1043.                     output (220);
  1044.                   else
  1045.                     ECHO;
  1046.                 }
  1047.     YY_BREAK
  1048. case 32:
  1049. YY_USER_ACTION
  1050. { output (221); }
  1051.     YY_BREAK
  1052. case 33:
  1053. YY_USER_ACTION
  1054. { output (224); }
  1055.     YY_BREAK
  1056. case 34:
  1057. YY_USER_ACTION
  1058. { output (225); }
  1059.     YY_BREAK
  1060. case 35:
  1061. YY_USER_ACTION
  1062. { output (226); }
  1063.     YY_BREAK
  1064. case 36:
  1065. YY_USER_ACTION
  1066. { output (227); }
  1067.     YY_BREAK
  1068. case 37:
  1069. YY_USER_ACTION
  1070. { if (diaeresis_char == '"')
  1071.                     output (228);
  1072.                   else
  1073.                     ECHO;
  1074.                 }
  1075.     YY_BREAK
  1076. case 38:
  1077. YY_USER_ACTION
  1078. { if (diaeresis_char == ':')
  1079.                     output (228);
  1080.                   else
  1081.                     ECHO;
  1082.                 }
  1083.     YY_BREAK
  1084. case 39:
  1085. YY_USER_ACTION
  1086. { output (231); }
  1087.     YY_BREAK
  1088. case 40:
  1089. YY_USER_ACTION
  1090. { output (232); }
  1091.     YY_BREAK
  1092. case 41:
  1093. YY_USER_ACTION
  1094. { output (233); }
  1095.     YY_BREAK
  1096. case 42:
  1097. YY_USER_ACTION
  1098. { output (234); }
  1099.     YY_BREAK
  1100. case 43:
  1101. YY_USER_ACTION
  1102. { if (diaeresis_char == '"')
  1103.                     output (235);
  1104.                   else
  1105.                     ECHO;
  1106.                 }
  1107.     YY_BREAK
  1108. case 44:
  1109. YY_USER_ACTION
  1110. { if (diaeresis_char == ':')
  1111.                     output (235);
  1112.                   else
  1113.                     ECHO;
  1114.                 }
  1115.     YY_BREAK
  1116. case 45:
  1117. YY_USER_ACTION
  1118. { output (236); }
  1119.     YY_BREAK
  1120. case 46:
  1121. YY_USER_ACTION
  1122. { output (237); }
  1123.     YY_BREAK
  1124. case 47:
  1125. YY_USER_ACTION
  1126. { output (238); }
  1127.     YY_BREAK
  1128. case 48:
  1129. YY_USER_ACTION
  1130. { if (diaeresis_char == '"')
  1131.                     output (239);
  1132.                   else
  1133.                     ECHO;
  1134.                 }
  1135.     YY_BREAK
  1136. case 49:
  1137. YY_USER_ACTION
  1138. { if (diaeresis_char == ':')
  1139.                     output (239);
  1140.                   else
  1141.                     ECHO;
  1142.                 }
  1143.     YY_BREAK
  1144. case 50:
  1145. YY_USER_ACTION
  1146. { output (241); }
  1147.     YY_BREAK
  1148. case 51:
  1149. YY_USER_ACTION
  1150. { output (242); }
  1151.     YY_BREAK
  1152. case 52:
  1153. YY_USER_ACTION
  1154. { output (243); }
  1155.     YY_BREAK
  1156. case 53:
  1157. YY_USER_ACTION
  1158. { output (244); }
  1159.     YY_BREAK
  1160. case 54:
  1161. YY_USER_ACTION
  1162. { output (245); }
  1163.     YY_BREAK
  1164. case 55:
  1165. YY_USER_ACTION
  1166. { if (diaeresis_char == '"')
  1167.                     output (246);
  1168.                   else
  1169.                     ECHO;
  1170.                 }
  1171.     YY_BREAK
  1172. case 56:
  1173. YY_USER_ACTION
  1174. { if (diaeresis_char == ':')
  1175.                     output (246);
  1176.                   else
  1177.                     ECHO;
  1178.                 }
  1179.     YY_BREAK
  1180. case 57:
  1181. YY_USER_ACTION
  1182. { output (249); }
  1183.     YY_BREAK
  1184. case 58:
  1185. YY_USER_ACTION
  1186. { output (250); }
  1187.     YY_BREAK
  1188. case 59:
  1189. YY_USER_ACTION
  1190. { output (251); }
  1191.     YY_BREAK
  1192. case 60:
  1193. YY_USER_ACTION
  1194. { if (diaeresis_char == '"')
  1195.                     output (252);
  1196.                   else
  1197.                     ECHO;
  1198.                 }
  1199.     YY_BREAK
  1200. case 61:
  1201. YY_USER_ACTION
  1202. { if (diaeresis_char == ':')
  1203.                     output (252);
  1204.                   else
  1205.                     ECHO;
  1206.                 }
  1207.     YY_BREAK
  1208. case 62:
  1209. YY_USER_ACTION
  1210. { output (253); }
  1211.     YY_BREAK
  1212. case 63:
  1213. YY_USER_ACTION
  1214. { if (diacritics_only) ECHO; else output ('#'); }
  1215.     YY_BREAK
  1216. case 64:
  1217. YY_USER_ACTION
  1218. { if (diacritics_only) ECHO; else output ('$'); }
  1219.     YY_BREAK
  1220. case 65:
  1221. YY_USER_ACTION
  1222. { if (diacritics_only) ECHO; else output ('%'); }
  1223.     YY_BREAK
  1224. case 66:
  1225. YY_USER_ACTION
  1226. { if (diacritics_only) ECHO; else output ('&'); }
  1227.     YY_BREAK
  1228. case 67:
  1229. YY_USER_ACTION
  1230. { if (diacritics_only) ECHO; else output ('_'); }
  1231.     YY_BREAK
  1232. case 68:
  1233. YY_USER_ACTION
  1234. { if (diacritics_only) ECHO; else output ('{'); }
  1235.     YY_BREAK
  1236. case 69:
  1237. YY_USER_ACTION
  1238. { if (diacritics_only) ECHO; else output ('}'); }
  1239.     YY_BREAK
  1240. case 70:
  1241. YY_USER_ACTION
  1242. { if (diacritics_only) ECHO; else output ('\\'); }
  1243.     YY_BREAK
  1244. case 71:
  1245. YY_USER_ACTION
  1246. { if (diacritics_only) ECHO; else output (160); }
  1247.     YY_BREAK
  1248. case 72:
  1249. YY_USER_ACTION
  1250. { if (diacritics_only) ECHO; else output (161); }
  1251.     YY_BREAK
  1252. case 73:
  1253. YY_USER_ACTION
  1254. { if (diacritics_only) ECHO; else output (167); }
  1255.     YY_BREAK
  1256. case 74:
  1257. YY_USER_ACTION
  1258. { if (diacritics_only) ECHO; else output (168); }
  1259.     YY_BREAK
  1260. case 75:
  1261. YY_USER_ACTION
  1262. { if (diacritics_only) ECHO; else output (171); }
  1263.     YY_BREAK
  1264. case 76:
  1265. YY_USER_ACTION
  1266. { if (diacritics_only) ECHO; else output (172); }
  1267.     YY_BREAK
  1268. case 77:
  1269. YY_USER_ACTION
  1270. { if (diacritics_only) ECHO; else output (173); }
  1271.     YY_BREAK
  1272. case 78:
  1273. YY_USER_ACTION
  1274. { if (diacritics_only) ECHO; else output (176); }
  1275.     YY_BREAK
  1276. case 79:
  1277. YY_USER_ACTION
  1278. { if (diacritics_only) ECHO; else output (177); }
  1279.     YY_BREAK
  1280. case 80:
  1281. YY_USER_ACTION
  1282. { if (diacritics_only) ECHO; else output (178); }
  1283.     YY_BREAK
  1284. case 81:
  1285. YY_USER_ACTION
  1286. { if (diacritics_only) ECHO; else output (179); }
  1287.     YY_BREAK
  1288. case 82:
  1289. YY_USER_ACTION
  1290. { if (diacritics_only) ECHO; else output (180); }
  1291.     YY_BREAK
  1292. case 83:
  1293. YY_USER_ACTION
  1294. { if (diacritics_only) ECHO; else output (181); }
  1295.     YY_BREAK
  1296. case 84:
  1297. YY_USER_ACTION
  1298. { if (diacritics_only) ECHO; else output (183); }
  1299.     YY_BREAK
  1300. case 85:
  1301. YY_USER_ACTION
  1302. { if (diacritics_only) ECHO; else output (184); }
  1303.     YY_BREAK
  1304. case 86:
  1305. YY_USER_ACTION
  1306. { if (diacritics_only) ECHO; else output (185); }
  1307.     YY_BREAK
  1308. case 87:
  1309. YY_USER_ACTION
  1310. { if (diacritics_only) ECHO; else output (187); }
  1311.     YY_BREAK
  1312. case 88:
  1313. YY_USER_ACTION
  1314. { if (diacritics_only) ECHO; else output (188); }
  1315.     YY_BREAK
  1316. case 89:
  1317. YY_USER_ACTION
  1318. { if (diacritics_only) ECHO; else output (189); }
  1319.     YY_BREAK
  1320. case 90:
  1321. YY_USER_ACTION
  1322. { if (diacritics_only) ECHO; else output (190); }
  1323.     YY_BREAK
  1324. case 91:
  1325. YY_USER_ACTION
  1326. { if (diacritics_only) ECHO; else output (191); }
  1327.     YY_BREAK
  1328. case 92:
  1329. YY_USER_ACTION
  1330. { output (192); }
  1331.     YY_BREAK
  1332. case 93:
  1333. YY_USER_ACTION
  1334. { output (193); }
  1335.     YY_BREAK
  1336. case 94:
  1337. YY_USER_ACTION
  1338. { output (194); }
  1339.     YY_BREAK
  1340. case 95:
  1341. YY_USER_ACTION
  1342. { output (195); }
  1343.     YY_BREAK
  1344. case 96:
  1345. YY_USER_ACTION
  1346. { output (196); }
  1347.     YY_BREAK
  1348. case 97:
  1349. YY_USER_ACTION
  1350. { output (197); }
  1351.     YY_BREAK
  1352. case 98:
  1353. YY_USER_ACTION
  1354. { output (198); }
  1355.     YY_BREAK
  1356. case 99:
  1357. YY_USER_ACTION
  1358. { output (199); }
  1359.     YY_BREAK
  1360. case 100:
  1361. YY_USER_ACTION
  1362. { output (200); }
  1363.     YY_BREAK
  1364. case 101:
  1365. YY_USER_ACTION
  1366. { output (201); }
  1367.     YY_BREAK
  1368. case 102:
  1369. YY_USER_ACTION
  1370. { output (202); }
  1371.     YY_BREAK
  1372. case 103:
  1373. YY_USER_ACTION
  1374. { output (203); }
  1375.     YY_BREAK
  1376. case 104:
  1377. YY_USER_ACTION
  1378. { output (204); }
  1379.     YY_BREAK
  1380. case 105:
  1381. YY_USER_ACTION
  1382. { output (205); }
  1383.     YY_BREAK
  1384. case 106:
  1385. YY_USER_ACTION
  1386. { output (206); }
  1387.     YY_BREAK
  1388. case 107:
  1389. YY_USER_ACTION
  1390. { output (207); }
  1391.     YY_BREAK
  1392. case 108:
  1393. YY_USER_ACTION
  1394. { output (209); }
  1395.     YY_BREAK
  1396. case 109:
  1397. YY_USER_ACTION
  1398. { output (210); }
  1399.     YY_BREAK
  1400. case 110:
  1401. YY_USER_ACTION
  1402. { output (211); }
  1403.     YY_BREAK
  1404. case 111:
  1405. YY_USER_ACTION
  1406. { output (212); }
  1407.     YY_BREAK
  1408. case 112:
  1409. YY_USER_ACTION
  1410. { output (213); }
  1411.     YY_BREAK
  1412. case 113:
  1413. YY_USER_ACTION
  1414. { output (214); }
  1415.     YY_BREAK
  1416. case 114:
  1417. YY_USER_ACTION
  1418. { output (216); }
  1419.     YY_BREAK
  1420. case 115:
  1421. YY_USER_ACTION
  1422. { output (217); }
  1423.     YY_BREAK
  1424. case 116:
  1425. YY_USER_ACTION
  1426. { output (218); }
  1427.     YY_BREAK
  1428. case 117:
  1429. YY_USER_ACTION
  1430. { output (219); }
  1431.     YY_BREAK
  1432. case 118:
  1433. YY_USER_ACTION
  1434. { output (220); }
  1435.     YY_BREAK
  1436. case 119:
  1437. YY_USER_ACTION
  1438. { output (221); }
  1439.     YY_BREAK
  1440. case 120:
  1441. YY_USER_ACTION
  1442. { output (223); }
  1443.     YY_BREAK
  1444. case 121:
  1445. YY_USER_ACTION
  1446. { output (224); }
  1447.     YY_BREAK
  1448. case 122:
  1449. YY_USER_ACTION
  1450. { output (225); }
  1451.     YY_BREAK
  1452. case 123:
  1453. YY_USER_ACTION
  1454. { output (226); }
  1455.     YY_BREAK
  1456. case 124:
  1457. YY_USER_ACTION
  1458. { output (227); }
  1459.     YY_BREAK
  1460. case 125:
  1461. YY_USER_ACTION
  1462. { output (228); }
  1463.     YY_BREAK
  1464. case 126:
  1465. YY_USER_ACTION
  1466. { output (229); }
  1467.     YY_BREAK
  1468. case 127:
  1469. YY_USER_ACTION
  1470. { output (230); }
  1471.     YY_BREAK
  1472. case 128:
  1473. YY_USER_ACTION
  1474. { output (231); }
  1475.     YY_BREAK
  1476. case 129:
  1477. YY_USER_ACTION
  1478. { output (232); }
  1479.     YY_BREAK
  1480. case 130:
  1481. YY_USER_ACTION
  1482. { output (233); }
  1483.     YY_BREAK
  1484. case 131:
  1485. YY_USER_ACTION
  1486. { output (234); }
  1487.     YY_BREAK
  1488. case 132:
  1489. YY_USER_ACTION
  1490. { output (235); }
  1491.     YY_BREAK
  1492. case 133:
  1493. YY_USER_ACTION
  1494. { output (236); }
  1495.     YY_BREAK
  1496. case 134:
  1497. YY_USER_ACTION
  1498. { output (237); }
  1499.     YY_BREAK
  1500. case 135:
  1501. YY_USER_ACTION
  1502. { output (238); }
  1503.     YY_BREAK
  1504. case 136:
  1505. YY_USER_ACTION
  1506. { output (239); }
  1507.     YY_BREAK
  1508. case 137:
  1509. YY_USER_ACTION
  1510. { output (241); }
  1511.     YY_BREAK
  1512. case 138:
  1513. YY_USER_ACTION
  1514. { output (242); }
  1515.     YY_BREAK
  1516. case 139:
  1517. YY_USER_ACTION
  1518. { output (243); }
  1519.     YY_BREAK
  1520. case 140:
  1521. YY_USER_ACTION
  1522. { output (244); }
  1523.     YY_BREAK
  1524. case 141:
  1525. YY_USER_ACTION
  1526. { output (245); }
  1527.     YY_BREAK
  1528. case 142:
  1529. YY_USER_ACTION
  1530. { output (246); }
  1531.     YY_BREAK
  1532. case 143:
  1533. YY_USER_ACTION
  1534. { output (248); }
  1535.     YY_BREAK
  1536. case 144:
  1537. YY_USER_ACTION
  1538. { output (249); }
  1539.     YY_BREAK
  1540. case 145:
  1541. YY_USER_ACTION
  1542. { output (250); }
  1543.     YY_BREAK
  1544. case 146:
  1545. YY_USER_ACTION
  1546. { output (251); }
  1547.     YY_BREAK
  1548. case 147:
  1549. YY_USER_ACTION
  1550. { output (252); }
  1551.     YY_BREAK
  1552. case 148:
  1553. YY_USER_ACTION
  1554. { output (253); }
  1555.     YY_BREAK
  1556. case 149:
  1557. YY_USER_ACTION
  1558. { output (255); }
  1559.     YY_BREAK
  1560. case 150:
  1561. YY_USER_ACTION
  1562. { output (171); }
  1563.     YY_BREAK
  1564. case 151:
  1565. YY_USER_ACTION
  1566. { output (187); }
  1567.     YY_BREAK
  1568. case 152:
  1569. YY_USER_ACTION
  1570. { output (192); }
  1571.     YY_BREAK
  1572. case 153:
  1573. YY_USER_ACTION
  1574. { output (194); }
  1575.     YY_BREAK
  1576. case 154:
  1577. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1578. yy_c_buf_p = yy_cp = yy_bp + 2;
  1579. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1580. YY_USER_ACTION
  1581. { output (196); }
  1582.     YY_BREAK
  1583. case 155:
  1584. YY_USER_ACTION
  1585. { output (224); }
  1586.     YY_BREAK
  1587. case 156:
  1588. YY_USER_ACTION
  1589. { output (226); }
  1590.     YY_BREAK
  1591. case 157:
  1592. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1593. yy_c_buf_p = yy_cp = yy_bp + 2;
  1594. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1595. YY_USER_ACTION
  1596. { output (228); }
  1597.     YY_BREAK
  1598. case 158:
  1599. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1600. yy_c_buf_p = yy_cp = yy_bp + 2;
  1601. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1602. YY_USER_ACTION
  1603. { output (199); }
  1604.     YY_BREAK
  1605. case 159:
  1606. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1607. yy_c_buf_p = yy_cp = yy_bp + 2;
  1608. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1609. YY_USER_ACTION
  1610. { output (231); }
  1611.     YY_BREAK
  1612. case 160:
  1613. YY_USER_ACTION
  1614. { output (200); }
  1615.     YY_BREAK
  1616. case 161:
  1617. YY_USER_ACTION
  1618. { output (201); output (187); }
  1619.     YY_BREAK
  1620. case 162:
  1621. YY_USER_ACTION
  1622. { output ('E'); output (187); }
  1623.     YY_BREAK
  1624. case 163:
  1625. YY_USER_ACTION
  1626. { output (201); }
  1627.     YY_BREAK
  1628. case 164:
  1629. YY_USER_ACTION
  1630. { output (202); }
  1631.     YY_BREAK
  1632. case 165:
  1633. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1634. yy_c_buf_p = yy_cp = yy_bp + 2;
  1635. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1636. YY_USER_ACTION
  1637. { output (203); }
  1638.     YY_BREAK
  1639. case 166:
  1640. YY_USER_ACTION
  1641. { output (232); }
  1642.     YY_BREAK
  1643. case 167:
  1644. YY_USER_ACTION
  1645. { output (233); output (187); }
  1646.     YY_BREAK
  1647. case 168:
  1648. YY_USER_ACTION
  1649. { output ('e'); output (187); }
  1650.     YY_BREAK
  1651. case 169:
  1652. YY_USER_ACTION
  1653. { output (233); }
  1654.     YY_BREAK
  1655. case 170:
  1656. YY_USER_ACTION
  1657. { output (234); }
  1658.     YY_BREAK
  1659. case 171:
  1660. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1661. yy_c_buf_p = yy_cp = yy_bp + 2;
  1662. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1663. YY_USER_ACTION
  1664. { output (235); }
  1665.     YY_BREAK
  1666. case 172:
  1667. YY_USER_ACTION
  1668. { output (204); }
  1669.     YY_BREAK
  1670. case 173:
  1671. YY_USER_ACTION
  1672. { output (206); }
  1673.     YY_BREAK
  1674. case 174:
  1675. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1676. yy_c_buf_p = yy_cp = yy_bp + 2;
  1677. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1678. YY_USER_ACTION
  1679. { output (207); }
  1680.     YY_BREAK
  1681. case 175:
  1682. YY_USER_ACTION
  1683. { output (236); }
  1684.     YY_BREAK
  1685. case 176:
  1686. YY_USER_ACTION
  1687. { output (238); }
  1688.     YY_BREAK
  1689. case 177:
  1690. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1691. yy_c_buf_p = yy_cp = yy_bp + 2;
  1692. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1693. YY_USER_ACTION
  1694. { output (239); }
  1695.     YY_BREAK
  1696. case 178:
  1697. YY_USER_ACTION
  1698. { output (210); }
  1699.     YY_BREAK
  1700. case 179:
  1701. YY_USER_ACTION
  1702. { output (212); }
  1703.     YY_BREAK
  1704. case 180:
  1705. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1706. yy_c_buf_p = yy_cp = yy_bp + 2;
  1707. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1708. YY_USER_ACTION
  1709. { output (214); }
  1710.     YY_BREAK
  1711. case 181:
  1712. YY_USER_ACTION
  1713. { output (242); }
  1714.     YY_BREAK
  1715. case 182:
  1716. YY_USER_ACTION
  1717. { output (244); }
  1718.     YY_BREAK
  1719. case 183:
  1720. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1721. yy_c_buf_p = yy_cp = yy_bp + 2;
  1722. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1723. YY_USER_ACTION
  1724. { output (246); }
  1725.     YY_BREAK
  1726. case 184:
  1727. YY_USER_ACTION
  1728. { output (217); }
  1729.     YY_BREAK
  1730. case 185:
  1731. YY_USER_ACTION
  1732. { output (219); }
  1733.     YY_BREAK
  1734. case 186:
  1735. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1736. yy_c_buf_p = yy_cp = yy_bp + 2;
  1737. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1738. YY_USER_ACTION
  1739. { output (220); }
  1740.     YY_BREAK
  1741. case 187:
  1742. YY_USER_ACTION
  1743. { output (249); }
  1744.     YY_BREAK
  1745. case 188:
  1746. YY_USER_ACTION
  1747. { output (251); }
  1748.     YY_BREAK
  1749. case 189:
  1750. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1751. yy_c_buf_p = yy_cp = yy_bp + 2;
  1752. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1753. YY_USER_ACTION
  1754. { output (252); }
  1755.     YY_BREAK
  1756. case 190:
  1757. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1758. yy_c_buf_p = yy_cp = yy_bp + 2;
  1759. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1760. YY_USER_ACTION
  1761. { output ('Y'); }
  1762.     YY_BREAK
  1763. case 191:
  1764. *yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  1765. yy_c_buf_p = yy_cp = yy_bp + 2;
  1766. YY_DO_BEFORE_ACTION; /* set up yytext again */
  1767. YY_USER_ACTION
  1768. { output (223); }
  1769.     YY_BREAK
  1770. case 192:
  1771. YY_USER_ACTION
  1772. { texte_latin1_diaeresis (); }
  1773.     YY_BREAK
  1774. case 193:
  1775. YY_USER_ACTION
  1776. { texte_latin1_diaeresis (); }
  1777.     YY_BREAK
  1778. case 194:
  1779. YY_USER_ACTION
  1780. { texte_latin1_diaeresis (); }
  1781.     YY_BREAK
  1782. case 195:
  1783. YY_USER_ACTION
  1784. { texte_latin1_diaeresis (); }
  1785.     YY_BREAK
  1786. case 196:
  1787. YY_USER_ACTION
  1788. { texte_latin1_diaeresis (); }
  1789.     YY_BREAK
  1790. case 197:
  1791. YY_USER_ACTION
  1792. { texte_latin1_diaeresis (); }
  1793.     YY_BREAK
  1794. case 198:
  1795. YY_USER_ACTION
  1796. { texte_latin1_diaeresis (); }
  1797.     YY_BREAK
  1798. case 199:
  1799. YY_USER_ACTION
  1800. { texte_latin1_diaeresis (); }
  1801.     YY_BREAK
  1802. case 200:
  1803. YY_USER_ACTION
  1804. { texte_latin1_diaeresis (); }
  1805.     YY_BREAK
  1806. case 201:
  1807. YY_USER_ACTION
  1808. { texte_latin1_diaeresis (); }
  1809.     YY_BREAK
  1810. case 202:
  1811. YY_USER_ACTION
  1812. { texte_latin1_diaeresis (); }
  1813.     YY_BREAK
  1814. case 203:
  1815. YY_USER_ACTION
  1816. { if (yytext[4] == diaeresis_char)
  1817.                 texte_latin1_diaeresis ();
  1818.               else
  1819.                 ECHO;
  1820.             }
  1821.     YY_BREAK
  1822. case 204:
  1823. YY_USER_ACTION
  1824. { texte_latin1_diaeresis (); }
  1825.     YY_BREAK
  1826. case 205:
  1827. YY_USER_ACTION
  1828. { ECHO; }
  1829.     YY_BREAK
  1830. case 206:
  1831. YY_USER_ACTION
  1832. { texte_latin1_diaeresis (); }
  1833.     YY_BREAK
  1834. case 207:
  1835. YY_USER_ACTION
  1836. { texte_latin1_diaeresis (); }
  1837.     YY_BREAK
  1838. case 208:
  1839. YY_USER_ACTION
  1840. { texte_latin1_diaeresis (); }
  1841.     YY_BREAK
  1842. case 209:
  1843. YY_USER_ACTION
  1844. { texte_latin1_diaeresis (); }
  1845.     YY_BREAK
  1846. case 210:
  1847. YY_USER_ACTION
  1848. { texte_latin1_diaeresis (); }
  1849.     YY_BREAK
  1850. case 211:
  1851. YY_USER_ACTION
  1852. { texte_latin1_diaeresis (); }
  1853.     YY_BREAK
  1854. case 212:
  1855. YY_USER_ACTION
  1856. ECHO;
  1857.     YY_BREAK
  1858. case YY_STATE_EOF(INITIAL):
  1859. case YY_STATE_EOF(X_ascii_latin1):
  1860. case YY_STATE_EOF(X_latex_latin1):
  1861. case YY_STATE_EOF(X_texte_latin1):
  1862.     yyterminate();
  1863.  
  1864.     case YY_END_OF_BUFFER:
  1865.         {
  1866.         /* Amount of text matched not including the EOB char. */
  1867.         int yy_amount_of_matched_text = yy_cp - yytext_ptr - 1;
  1868.  
  1869.         /* Undo the effects of YY_DO_BEFORE_ACTION. */
  1870.         *yy_cp = yy_hold_char;
  1871.  
  1872.         if ( yy_current_buffer->yy_input_file != yyin )
  1873.             {
  1874.             /* This can happen if we scan a file, yywrap() returns
  1875.              * 1, and then later the user points yyin at a new
  1876.              * file to resume scanning.  We have to assure
  1877.              * consistency between yy_current_buffer and our
  1878.              * globals.  Here is the right place to do so, because
  1879.              * this is the first action (other than possibly a
  1880.              * back-up) that will match for the new input file.
  1881.              */
  1882.             yy_current_buffer->yy_input_file = yyin;
  1883.             yy_n_chars = yy_current_buffer->yy_n_chars;
  1884.             }
  1885.  
  1886.         /* Note that here we test for yy_c_buf_p "<=" to the position
  1887.          * of the first EOB in the buffer, since yy_c_buf_p will
  1888.          * already have been incremented past the NUL character
  1889.          * (since all states make transitions on EOB to the
  1890.          * end-of-buffer state).  Contrast this with the test
  1891.          * in input().
  1892.          */
  1893.         if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1894.             { /* This was really a NUL. */
  1895.             yy_state_type yy_next_state;
  1896.  
  1897.             yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
  1898.  
  1899.             yy_current_state = yy_get_previous_state();
  1900.  
  1901.             /* Okay, we're now positioned to make the NUL
  1902.              * transition.  We couldn't have
  1903.              * yy_get_previous_state() go ahead and do it
  1904.              * for us because it doesn't know how to deal
  1905.              * with the possibility of jamming (and we don't
  1906.              * want to build jamming into it because then it
  1907.              * will run more slowly).
  1908.              */
  1909.  
  1910.             yy_next_state = yy_try_NUL_trans( yy_current_state );
  1911.  
  1912.             yy_bp = yytext_ptr + YY_MORE_ADJ;
  1913.  
  1914.             if ( yy_next_state )
  1915.                 {
  1916.                 /* Consume the NUL. */
  1917.                 yy_cp = ++yy_c_buf_p;
  1918.                 yy_current_state = yy_next_state;
  1919.                 goto yy_match;
  1920.                 }
  1921.  
  1922.             else
  1923.                 {
  1924.                 goto yy_find_action;
  1925.                 }
  1926.             }
  1927.  
  1928.         else switch ( yy_get_next_buffer() )
  1929.             {
  1930.             case EOB_ACT_END_OF_FILE:
  1931.                 {
  1932.                 yy_did_buffer_switch_on_eof = 0;
  1933.  
  1934.                 if ( yywrap() )
  1935.                     {
  1936.                     /* Note: because we've taken care in
  1937.                      * yy_get_next_buffer() to have set up
  1938.                      * yytext, we can now set up
  1939.                      * yy_c_buf_p so that if some total
  1940.                      * hoser (like flex itself) wants to
  1941.                      * call the scanner after we return the
  1942.                      * YY_NULL, it'll still work - another
  1943.                      * YY_NULL will get returned.
  1944.                      */
  1945.                     yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  1946.  
  1947.                     yy_act = YY_STATE_EOF(YY_START);
  1948.                     goto do_action;
  1949.                     }
  1950.  
  1951.                 else
  1952.                     {
  1953.                     if ( ! yy_did_buffer_switch_on_eof )
  1954.                         YY_NEW_FILE;
  1955.                     }
  1956.                 break;
  1957.                 }
  1958.  
  1959.             case EOB_ACT_CONTINUE_SCAN:
  1960.                 yy_c_buf_p =
  1961.                     yytext_ptr + yy_amount_of_matched_text;
  1962.  
  1963.                 yy_current_state = yy_get_previous_state();
  1964.  
  1965.                 yy_cp = yy_c_buf_p;
  1966.                 yy_bp = yytext_ptr + YY_MORE_ADJ;
  1967.                 goto yy_match;
  1968.  
  1969.             case EOB_ACT_LAST_MATCH:
  1970.                 yy_c_buf_p =
  1971.                 &yy_current_buffer->yy_ch_buf[yy_n_chars];
  1972.  
  1973.                 yy_current_state = yy_get_previous_state();
  1974.  
  1975.                 yy_cp = yy_c_buf_p;
  1976.                 yy_bp = yytext_ptr + YY_MORE_ADJ;
  1977.                 goto yy_find_action;
  1978.             }
  1979.         break;
  1980.         }
  1981.  
  1982.     default:
  1983.         YY_FATAL_ERROR(
  1984.             "fatal flex scanner internal error--no action found" );
  1985.     } /* end of action switch */
  1986.         } /* end of scanning one token */
  1987.     } /* end of yylex */
  1988.  
  1989.  
  1990. /* yy_get_next_buffer - try to read in a new buffer
  1991.  *
  1992.  * Returns a code representing an action:
  1993.  *    EOB_ACT_LAST_MATCH -
  1994.  *    EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  1995.  *    EOB_ACT_END_OF_FILE - end of file
  1996.  */
  1997.  
  1998. static int yy_get_next_buffer()
  1999.     {
  2000.     register char *dest = yy_current_buffer->yy_ch_buf;
  2001.     register char *source = yytext_ptr - 1; /* copy prev. char, too */
  2002.     register int number_to_move, i;
  2003.     int ret_val;
  2004.  
  2005.     if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
  2006.         YY_FATAL_ERROR(
  2007.         "fatal flex scanner internal error--end of buffer missed" );
  2008.  
  2009.     /* Try to read more data. */
  2010.  
  2011.     /* First move last chars to start of buffer. */
  2012.     number_to_move = yy_c_buf_p - yytext_ptr;
  2013.  
  2014.     for ( i = 0; i < number_to_move; ++i )
  2015.         *(dest++) = *(source++);
  2016.  
  2017.     if ( yy_current_buffer->yy_eof_status != EOF_NOT_SEEN )
  2018.         /* don't do the read, it's not guaranteed to return an EOF,
  2019.          * just force an EOF
  2020.          */
  2021.         yy_n_chars = 0;
  2022.  
  2023.     else
  2024.         {
  2025.         int num_to_read =
  2026.             yy_current_buffer->yy_buf_size - number_to_move - 1;
  2027.  
  2028.         while ( num_to_read <= 0 )
  2029.             { /* Not enough room in the buffer - grow it. */
  2030. #ifdef YY_USES_REJECT
  2031.             YY_FATAL_ERROR(
  2032. "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  2033. #else
  2034.  
  2035.             /* just a shorter name for the current buffer */
  2036.             YY_BUFFER_STATE b = yy_current_buffer;
  2037.  
  2038.             int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf;
  2039.  
  2040.             b->yy_buf_size *= 2;
  2041.             b->yy_ch_buf = (char *)
  2042.                 yy_flex_realloc( (void *) b->yy_ch_buf,
  2043.                          b->yy_buf_size );
  2044.  
  2045.             if ( ! b->yy_ch_buf )
  2046.                 YY_FATAL_ERROR(
  2047.                 "fatal error - scanner input buffer overflow" );
  2048.  
  2049.             yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
  2050.  
  2051.             num_to_read = yy_current_buffer->yy_buf_size -
  2052.                         number_to_move - 1;
  2053. #endif
  2054.             }
  2055.  
  2056.         if ( num_to_read > YY_READ_BUF_SIZE )
  2057.             num_to_read = YY_READ_BUF_SIZE;
  2058.  
  2059.         /* Read in more data. */
  2060.         YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
  2061.             yy_n_chars, num_to_read );
  2062.         }
  2063.  
  2064.     if ( yy_n_chars == 0 )
  2065.         {
  2066.         if ( number_to_move - YY_MORE_ADJ == 1 )
  2067.             {
  2068.             ret_val = EOB_ACT_END_OF_FILE;
  2069.             yyrestart( yyin );
  2070.             }
  2071.  
  2072.         else
  2073.             {
  2074.             ret_val = EOB_ACT_LAST_MATCH;
  2075.             yy_current_buffer->yy_eof_status = EOF_PENDING;
  2076.             }
  2077.         }
  2078.  
  2079.     else
  2080.         ret_val = EOB_ACT_CONTINUE_SCAN;
  2081.  
  2082.     yy_n_chars += number_to_move;
  2083.     yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  2084.     yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  2085.  
  2086.     /* yytext begins at the second character in yy_ch_buf; the first
  2087.      * character is the one which preceded it before reading in the latest
  2088.      * buffer; it needs to be kept around in case it's a newline, so
  2089.      * yy_get_previous_state() will have with '^' rules active.
  2090.      */
  2091.  
  2092.     yytext_ptr = &yy_current_buffer->yy_ch_buf[1];
  2093.  
  2094.     return ret_val;
  2095.     }
  2096.  
  2097.  
  2098. /* yy_get_previous_state - get the state just before the EOB char was reached */
  2099.  
  2100. static yy_state_type yy_get_previous_state()
  2101.     {
  2102.     register yy_state_type yy_current_state;
  2103.     register char *yy_cp;
  2104.  
  2105.     yy_current_state = yy_start;
  2106.  
  2107.     for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
  2108.         {
  2109.         register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  2110.         if ( yy_accept[yy_current_state] )
  2111.             {
  2112.             yy_last_accepting_state = yy_current_state;
  2113.             yy_last_accepting_cpos = yy_cp;
  2114.             }
  2115.         while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2116.             {
  2117.             yy_current_state = (int) yy_def[yy_current_state];
  2118.             if ( yy_current_state >= 587 )
  2119.                 yy_c = yy_meta[(unsigned int) yy_c];
  2120.             }
  2121.         yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2122.         }
  2123.  
  2124.     return yy_current_state;
  2125.     }
  2126.  
  2127.  
  2128. /* yy_try_NUL_trans - try to make a transition on the NUL character
  2129.  *
  2130.  * synopsis
  2131.  *    next_state = yy_try_NUL_trans( current_state );
  2132.  */
  2133.  
  2134. #ifdef YY_USE_PROTOS
  2135. static yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
  2136. #else
  2137. static yy_state_type yy_try_NUL_trans( yy_current_state )
  2138. yy_state_type yy_current_state;
  2139. #endif
  2140.     {
  2141.     register int yy_is_jam;
  2142.     register char *yy_cp = yy_c_buf_p;
  2143.  
  2144.     register YY_CHAR yy_c = 1;
  2145.     if ( yy_accept[yy_current_state] )
  2146.         {
  2147.         yy_last_accepting_state = yy_current_state;
  2148.         yy_last_accepting_cpos = yy_cp;
  2149.         }
  2150.     while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2151.         {
  2152.         yy_current_state = (int) yy_def[yy_current_state];
  2153.         if ( yy_current_state >= 587 )
  2154.             yy_c = yy_meta[(unsigned int) yy_c];
  2155.         }
  2156.     yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2157.     yy_is_jam = (yy_current_state == 586);
  2158.  
  2159.     return yy_is_jam ? 0 : yy_current_state;
  2160.     }
  2161.  
  2162.  
  2163. #ifdef YY_USE_PROTOS
  2164. static void yyunput( int c, register char *yy_bp )
  2165. #else
  2166. static void yyunput( c, yy_bp )
  2167. int c;
  2168. register char *yy_bp;
  2169. #endif
  2170.     {
  2171.     register char *yy_cp = yy_c_buf_p;
  2172.  
  2173.     /* undo effects of setting up yytext */
  2174.     *yy_cp = yy_hold_char;
  2175.  
  2176.     if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2177.         { /* need to shift things up to make room */
  2178.         /* +2 for EOB chars. */
  2179.         register int number_to_move = yy_n_chars + 2;
  2180.         register char *dest = &yy_current_buffer->yy_ch_buf[
  2181.                     yy_current_buffer->yy_buf_size + 2];
  2182.         register char *source =
  2183.                 &yy_current_buffer->yy_ch_buf[number_to_move];
  2184.  
  2185.         while ( source > yy_current_buffer->yy_ch_buf )
  2186.             *--dest = *--source;
  2187.  
  2188.         yy_cp += dest - source;
  2189.         yy_bp += dest - source;
  2190.         yy_n_chars = yy_current_buffer->yy_buf_size;
  2191.  
  2192.         if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  2193.             YY_FATAL_ERROR( "flex scanner push-back overflow" );
  2194.         }
  2195.  
  2196.     if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
  2197.         yy_cp[-2] = '\n';
  2198.  
  2199.     *--yy_cp = (char) c;
  2200.  
  2201.  
  2202.     /* Note: the formal parameter *must* be called "yy_bp" for this
  2203.      * macro to now work correctly.
  2204.      */
  2205.     YY_DO_BEFORE_ACTION; /* set up yytext again */
  2206.     }
  2207.  
  2208.  
  2209. #ifdef __cplusplus
  2210. static int yyinput()
  2211. #else
  2212. static int input()
  2213. #endif
  2214.     {
  2215.     int c;
  2216.  
  2217.     *yy_c_buf_p = yy_hold_char;
  2218.  
  2219.     if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  2220.         {
  2221.         /* yy_c_buf_p now points to the character we want to return.
  2222.          * If this occurs *before* the EOB characters, then it's a
  2223.          * valid NUL; if not, then we've hit the end of the buffer.
  2224.          */
  2225.         if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  2226.             /* This was really a NUL. */
  2227.             *yy_c_buf_p = '\0';
  2228.  
  2229.         else
  2230.             { /* need more input */
  2231.             yytext_ptr = yy_c_buf_p;
  2232.             ++yy_c_buf_p;
  2233.  
  2234.             switch ( yy_get_next_buffer() )
  2235.                 {
  2236.                 case EOB_ACT_END_OF_FILE:
  2237.                     {
  2238.                     if ( yywrap() )
  2239.                         {
  2240.                         yy_c_buf_p =
  2241.                         yytext_ptr + YY_MORE_ADJ;
  2242.                         return EOF;
  2243.                         }
  2244.  
  2245.                     YY_NEW_FILE;
  2246. #ifdef __cplusplus
  2247.                     return yyinput();
  2248. #else
  2249.                     return input();
  2250. #endif
  2251.                     }
  2252.  
  2253.                 case EOB_ACT_CONTINUE_SCAN:
  2254.                     yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  2255.                     break;
  2256.  
  2257.                 case EOB_ACT_LAST_MATCH:
  2258. #ifdef __cplusplus
  2259.                     YY_FATAL_ERROR(
  2260.                     "unexpected last match in yyinput()" );
  2261. #else
  2262.                     YY_FATAL_ERROR(
  2263.                     "unexpected last match in input()" );
  2264. #endif
  2265.                 }
  2266.             }
  2267.         }
  2268.  
  2269.     c = *yy_c_buf_p;
  2270.     *yy_c_buf_p = '\0';    /* preserve yytext */
  2271.     yy_hold_char = *++yy_c_buf_p;
  2272.  
  2273.     return c;
  2274.     }
  2275.  
  2276.  
  2277. #ifdef YY_USE_PROTOS
  2278. void yyrestart( FILE *input_file )
  2279. #else
  2280. void yyrestart( input_file )
  2281. FILE *input_file;
  2282. #endif
  2283.     {
  2284.     if ( ! yy_current_buffer )
  2285.         yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
  2286.  
  2287.     yy_init_buffer( yy_current_buffer, input_file );
  2288.     yy_load_buffer_state();
  2289.     }
  2290.  
  2291.  
  2292. #ifdef YY_USE_PROTOS
  2293. void yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  2294. #else
  2295. void yy_switch_to_buffer( new_buffer )
  2296. YY_BUFFER_STATE new_buffer;
  2297. #endif
  2298.     {
  2299.     if ( yy_current_buffer == new_buffer )
  2300.         return;
  2301.  
  2302.     if ( yy_current_buffer )
  2303.         {
  2304.         /* Flush out information for old buffer. */
  2305.         *yy_c_buf_p = yy_hold_char;
  2306.         yy_current_buffer->yy_buf_pos = yy_c_buf_p;
  2307.         yy_current_buffer->yy_n_chars = yy_n_chars;
  2308.         }
  2309.  
  2310.     yy_current_buffer = new_buffer;
  2311.     yy_load_buffer_state();
  2312.  
  2313.     /* We don't actually know whether we did this switch during
  2314.      * EOF (yywrap()) processing, but the only time this flag
  2315.      * is looked at is after yywrap() is called, so it's safe
  2316.      * to go ahead and always set it.
  2317.      */
  2318.     yy_did_buffer_switch_on_eof = 1;
  2319.     }
  2320.  
  2321.  
  2322. #ifdef YY_USE_PROTOS
  2323. void yy_load_buffer_state( void )
  2324. #else
  2325. void yy_load_buffer_state()
  2326. #endif
  2327.     {
  2328.     yy_n_chars = yy_current_buffer->yy_n_chars;
  2329.     yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
  2330.     yyin = yy_current_buffer->yy_input_file;
  2331.     yy_hold_char = *yy_c_buf_p;
  2332.     }
  2333.  
  2334.  
  2335. #ifdef YY_USE_PROTOS
  2336. YY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
  2337. #else
  2338. YY_BUFFER_STATE yy_create_buffer( file, size )
  2339. FILE *file;
  2340. int size;
  2341. #endif
  2342.     {
  2343.     YY_BUFFER_STATE b;
  2344.  
  2345.     b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
  2346.  
  2347.     if ( ! b )
  2348.         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2349.  
  2350.     b->yy_buf_size = size;
  2351.  
  2352.     /* yy_ch_buf has to be 2 characters longer than the size given because
  2353.      * we need to put in 2 end-of-buffer characters.
  2354.      */
  2355.     b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
  2356.  
  2357.     if ( ! b->yy_ch_buf )
  2358.         YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  2359.  
  2360.     yy_init_buffer( b, file );
  2361.  
  2362.     return b;
  2363.     }
  2364.  
  2365.  
  2366. #ifdef YY_USE_PROTOS
  2367. void yy_delete_buffer( YY_BUFFER_STATE b )
  2368. #else
  2369. void yy_delete_buffer( b )
  2370. YY_BUFFER_STATE b;
  2371. #endif
  2372.     {
  2373.     if ( b == yy_current_buffer )
  2374.         yy_current_buffer = (YY_BUFFER_STATE) 0;
  2375.  
  2376.     yy_flex_free( (void *) b->yy_ch_buf );
  2377.     yy_flex_free( (void *) b );
  2378.     }
  2379.  
  2380.  
  2381. #ifdef YY_USE_PROTOS
  2382. void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  2383. #else
  2384. void yy_init_buffer( b, file )
  2385. YY_BUFFER_STATE b;
  2386. FILE *file;
  2387. #endif
  2388.     {
  2389.     b->yy_input_file = file;
  2390.  
  2391.     /* We put in the '\n' and start reading from [1] so that an
  2392.      * initial match-at-newline will be true.
  2393.      */
  2394.  
  2395.     b->yy_ch_buf[0] = '\n';
  2396.     b->yy_n_chars = 1;
  2397.  
  2398.     /* We always need two end-of-buffer characters.  The first causes
  2399.      * a transition to the end-of-buffer state.  The second causes
  2400.      * a jam in that state.
  2401.      */
  2402.     b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  2403.     b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
  2404.  
  2405.     b->yy_buf_pos = &b->yy_ch_buf[1];
  2406.  
  2407.     b->is_interactive = file ? isatty( fileno(file) ) : 0;
  2408.  
  2409.     b->yy_eof_status = EOF_NOT_SEEN;
  2410.     }
  2411.  
  2412.  
  2413. #ifdef YY_USE_PROTOS
  2414. static void yy_fatal_error( const char msg[] )
  2415. #else
  2416. static void yy_fatal_error( msg )
  2417. char msg[];
  2418. #endif
  2419.     {
  2420.     (void) fprintf( stderr, "%s\n", msg );
  2421.     exit( 1 );
  2422.     }
  2423.  
  2424.  
  2425.  
  2426. /* Redefine yyless() so it works in section 3 code. */
  2427.  
  2428. #undef yyless
  2429. #define yyless(n) \
  2430.     do \
  2431.         { \
  2432.         /* Undo effects of setting up yytext. */ \
  2433.         yytext[yyleng] = yy_hold_char; \
  2434.         yy_c_buf_p = yytext + n - YY_MORE_ADJ; \
  2435.         yy_hold_char = *yy_c_buf_p; \
  2436.         *yy_c_buf_p = '\0'; \
  2437.         yyleng = n; \
  2438.         } \
  2439.     while ( 0 )
  2440.  
  2441.  
  2442. int
  2443. yywrap (void)
  2444. {
  2445.   return 1;
  2446. }
  2447.  
  2448. static void
  2449. file_ascii_latin1 (const STEP *step, FILE *input_file, FILE *output_file)
  2450. {
  2451.   yy_init = 1;
  2452.   yyin = input_file;
  2453.   yyout = output_file;
  2454.   BEGIN X_ascii_latin1;
  2455.   yylex ();
  2456. }
  2457.  
  2458. void
  2459. module_ascii_latin1 (void)
  2460. {
  2461.   declare_step ("ascii-bs", "latin1", MANY_TO_ONE, NULL, file_ascii_latin1);
  2462. }
  2463. /* Conversion of files between different charsets and usages.
  2464.    Copyright (C) 1990, 1993 Free Software Foundation, Inc.
  2465.    Francois Pinard <pinard@iro.umontreal.ca>, 1988.
  2466.  
  2467.    This program is free software; you can redistribute it and/or modify
  2468.    it under the terms of the GNU General Public License as published by
  2469.    the Free Software Foundation; either version 2, or (at your option)
  2470.    any later version.
  2471.  
  2472.    This program is distributed in the hope that it will be useful, but
  2473.    WITHOUT ANY WARRANTY; without even the implied warranty of
  2474.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2475.    General Public License for more details.
  2476.  
  2477.    You should have received a copy of the GNU General Public License
  2478.    along with this program; if not, write to the Free Software
  2479.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2480. */
  2481.  
  2482.  
  2483. static void
  2484. file_latex_latin1 (const STEP *step, FILE *input_file, FILE *output_file)
  2485. {
  2486.   yy_init = 1;
  2487.   yyin = input_file;
  2488.   yyout = output_file;
  2489.   BEGIN X_latex_latin1;
  2490.   yylex ();
  2491. }
  2492.  
  2493. void
  2494. module_latex_latin1 (void)
  2495. {
  2496.   declare_alias ("ltex", "latex");
  2497.   declare_step ("latex", "latin1", MANY_TO_ONE, NULL, file_latex_latin1);
  2498. }
  2499. /* Conversion of files between different charsets and usages.
  2500.    Copyright (C) 1990, 1993 Free Software Foundation, Inc.
  2501.    Francois Pinard <pinard@iro.umontreal.ca>, 1989.
  2502.  
  2503.    This program is free software; you can redistribute it and/or modify
  2504.    it under the terms of the GNU General Public License as published by
  2505.    the Free Software Foundation; either version 2, or (at your option)
  2506.    any later version.
  2507.  
  2508.    This program is distributed in the hope that it will be useful, but
  2509.    WITHOUT ANY WARRANTY; without even the implied warranty of
  2510.    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
  2511.    General Public License for more details.
  2512.  
  2513.    You should have received a copy of the GNU General Public License
  2514.    along with this program; if not, write to the Free Software
  2515.    Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
  2516. */
  2517.  
  2518.  
  2519. static void
  2520. file_texte_latin1 (const STEP *step, FILE *input_file, FILE *output_file)
  2521. {
  2522.   yy_init = 1;
  2523.   yyin = input_file;
  2524.   yyout = output_file;
  2525.   BEGIN X_texte_latin1;
  2526.   yylex ();
  2527. }
  2528.  
  2529. void
  2530. texte_latin1_diaeresis (void)
  2531. {
  2532.   int counter;
  2533.  
  2534.   for (counter = 0; counter < yyleng; counter++)
  2535.     if (yytext[counter+1] == diaeresis_char)
  2536.       {
  2537.     switch (yytext[counter])
  2538.       {
  2539.         /* The following #ifdef removes the case 'A': this seemingly
  2540.            unrelated line triggers a `NULL in input' diagnostic in flex.
  2541.            Would you believe?  */
  2542. #if 0
  2543.       case 'A': output (196); break;
  2544. #endif
  2545.       case 'E': output (203); break;
  2546.       case 'I': output (207); break;
  2547.       case 'O': output (214); break;
  2548.       case 'U': output (220); break;
  2549.       case 'a': output (228); break;
  2550.       case 'e': output (235); break;
  2551.       case 'i': output (239); break;
  2552.       case 'o': output (246); break;
  2553.       case 'u': output (252); break;
  2554.       case 'y': output (255); break;
  2555.       default:  output (yytext[counter]);
  2556.       }
  2557.     counter++;
  2558.       }
  2559.     else
  2560.       output (yytext[counter]);
  2561. }
  2562.  
  2563. void
  2564. module_texte_latin1 (void)
  2565. {
  2566.   declare_alias ("txte", "texte");
  2567.   declare_step ("texte", "latin1", MANY_TO_ONE, NULL, file_texte_latin1);
  2568. }
  2569.