home *** CD-ROM | disk | FTP | other *** search
/ Usenet 1994 October / usenetsourcesnewsgroupsinfomagicoctober1994disk2.iso / misc / volume44 / c++2latex / part03 < prev    next >
Internet Message Format  |  1994-08-07  |  58KB

  1. From: joke@germany.eu.net (Joerg Heitkoetter)
  2. Newsgroups: comp.sources.misc
  3. Subject: v44i012:  c++2latex - A set of LaTeX converters for the whole C family, v3.0, Part03/08
  4. Date: 7 Aug 1994 16:43:00 -0500
  5. Organization: Sterling Software
  6. Sender: kent@sparky.sterling.com
  7. Approved: kent@sparky.sterling.com
  8. Message-ID: <323kh4$glo@sparky.sterling.com>
  9. X-Md4-Signature: f88f3d3deda68f3c612fa856dd906784
  10.  
  11. Submitted-by: joke@germany.eu.net (Joerg Heitkoetter)
  12. Posting-number: Volume 44, Issue 12
  13. Archive-name: c++2latex/part03
  14. Environment: UNIX, Flex, LaTeX, Sun
  15.  
  16. #! /bin/sh
  17. # This is a shell archive.  Remove anything before this line, then feed it
  18. # into a shell via "sh file" or similar.  To overwrite existing files,
  19. # type "sh file -c".
  20. # Contents:  docs/objc.m src/krc2latex.c
  21. # Wrapped by kent@sparky on Sun Aug  7 16:11:52 1994
  22. PATH=/bin:/usr/bin:/usr/ucb:/usr/local/bin:/usr/lbin:$PATH ; export PATH
  23. echo If this archive is complete, you will see the following message:
  24. echo '          "shar: End of archive 3 (of 8)."'
  25. if test -f 'docs/objc.m' -a "${1}" != "-c" ; then 
  26.   echo shar: Will not clobber existing file \"'docs/objc.m'\"
  27. else
  28.   echo shar: Extracting \"'docs/objc.m'\" \(349 characters\)
  29.   sed "s/^X//" >'docs/objc.m' <<'END_OF_FILE'
  30. X// Same for a Float object, but for the obvious difference that
  31. X// it works with floats.
  32. X// Note polymorphism -- methods have same names as in the Int class.
  33. X
  34. X@implementation Float: Object
  35. X{
  36. X  float value;
  37. X}
  38. X
  39. X+ makeRoomFor: (float) x
  40. X{
  41. X  self = [super new];
  42. X  value = x;
  43. X  return self;
  44. X}
  45. X
  46. X- report
  47. X{
  48. X  printf("%4.1f", value);
  49. X  return self;
  50. X}
  51. X
  52. X@end
  53. END_OF_FILE
  54.   if test 349 -ne `wc -c <'docs/objc.m'`; then
  55.     echo shar: \"'docs/objc.m'\" unpacked with wrong size!
  56.   fi
  57.   # end of 'docs/objc.m'
  58. fi
  59. if test -f 'src/krc2latex.c' -a "${1}" != "-c" ; then 
  60.   echo shar: Will not clobber existing file \"'src/krc2latex.c'\"
  61. else
  62.   echo shar: Extracting \"'src/krc2latex.c'\" \(53535 characters\)
  63.   sed "s/^X//" >'src/krc2latex.c' <<'END_OF_FILE'
  64. X/* A lexical scanner generated by flex */
  65. X
  66. X/* Scanner skeleton version:
  67. X * $Header: /home/daffy/u0/vern/flex/flex-2.4.7/RCS/flex.skl,v 1.2 94/08/03 11:13:24 vern Exp $
  68. X */
  69. X
  70. X#define FLEX_SCANNER
  71. X
  72. X#include <stdio.h>
  73. X
  74. X
  75. X/* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
  76. X#ifdef c_plusplus
  77. X#ifndef __cplusplus
  78. X#define __cplusplus
  79. X#endif
  80. X#endif
  81. X
  82. X
  83. X#ifdef __cplusplus
  84. X
  85. X#include <stdlib.h>
  86. X#include <unistd.h>
  87. X
  88. X/* Use prototypes in function declarations. */
  89. X#define YY_USE_PROTOS
  90. X
  91. X/* The "const" storage-class-modifier is valid. */
  92. X#define YY_USE_CONST
  93. X
  94. X#else    /* ! __cplusplus */
  95. X
  96. X#ifdef __STDC__
  97. X
  98. X#define YY_USE_PROTOS
  99. X#define YY_USE_CONST
  100. X
  101. X#endif    /* __STDC__ */
  102. X#endif    /* ! __cplusplus */
  103. X
  104. X
  105. X#ifdef __TURBOC__
  106. X#define YY_USE_CONST
  107. X#endif
  108. X
  109. X
  110. X#ifndef YY_USE_CONST
  111. X#ifndef const
  112. X#define const
  113. X#endif
  114. X#endif
  115. X
  116. X
  117. X#ifdef YY_USE_PROTOS
  118. X#define YY_PROTO(proto) proto
  119. X#else
  120. X#define YY_PROTO(proto) ()
  121. X#endif
  122. X
  123. X/* Returned upon end-of-file. */
  124. X#define YY_NULL 0
  125. X
  126. X/* Promotes a possibly negative, possibly signed char to an unsigned
  127. X * integer for use as an array index.  If the signed char is negative,
  128. X * we want to instead treat it as an 8-bit unsigned char, hence the
  129. X * double cast.
  130. X */
  131. X#define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  132. X
  133. X/* Enter a start condition.  This macro really ought to take a parameter,
  134. X * but we do it the disgusting crufty way forced on us by the ()-less
  135. X * definition of BEGIN.
  136. X */
  137. X#define BEGIN yy_start = 1 + 2 *
  138. X
  139. X/* Translate the current start state into a value that can be later handed
  140. X * to BEGIN to return to the state.
  141. X */
  142. X#define YY_START ((yy_start - 1) / 2)
  143. X
  144. X/* Action number for EOF rule of a given start state. */
  145. X#define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  146. X
  147. X/* Special action meaning "start processing a new file".  Now included
  148. X * only for backward compatibility with previous versions of flex.
  149. X */
  150. X#define YY_NEW_FILE yyrestart( yyin )
  151. X
  152. X#define YY_END_OF_BUFFER_CHAR 0
  153. X
  154. X/* Size of default input buffer. */
  155. X#define YY_BUF_SIZE 16384
  156. X
  157. Xtypedef struct yy_buffer_state *YY_BUFFER_STATE;
  158. X
  159. Xextern int yyleng;
  160. Xextern FILE *yyin, *yyout;
  161. X
  162. X#ifdef __cplusplus
  163. Xextern "C" {
  164. X#endif
  165. X    extern int yywrap YY_PROTO(( void ));
  166. X#ifdef __cplusplus
  167. X    }
  168. X#endif
  169. X
  170. X#define EOB_ACT_CONTINUE_SCAN 0
  171. X#define EOB_ACT_END_OF_FILE 1
  172. X#define EOB_ACT_LAST_MATCH 2
  173. X
  174. X/* The funky do-while in the following #define is used to turn the definition
  175. X * int a single C statement (which needs a semi-colon terminator).  This
  176. X * avoids problems with code like:
  177. X *
  178. X *     if ( condition_holds )
  179. X *        yyless( 5 );
  180. X *    else
  181. X *        do_something_else();
  182. X *
  183. X * Prior to using the do-while the compiler would get upset at the
  184. X * "else" because it interpreted the "if" statement as being all
  185. X * done when it reached the ';' after the yyless() call.
  186. X */
  187. X
  188. X/* Return all but the first 'n' matched characters back to the input stream. */
  189. X
  190. X#define yyless(n) \
  191. X    do \
  192. X        { \
  193. X        /* Undo effects of setting up yytext. */ \
  194. X        *yy_cp = yy_hold_char; \
  195. X        yy_c_buf_p = yy_cp = yy_bp + n - YY_MORE_ADJ; \
  196. X        YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  197. X        } \
  198. X    while ( 0 )
  199. X
  200. X#define unput(c) yyunput( c, yytext_ptr )
  201. X
  202. X
  203. Xstruct yy_buffer_state
  204. X    {
  205. X    FILE *yy_input_file;
  206. X
  207. X    char *yy_ch_buf;        /* input buffer */
  208. X    char *yy_buf_pos;        /* current position in input buffer */
  209. X
  210. X    /* Size of input buffer in bytes, not including room for EOB
  211. X     * characters.
  212. X     */
  213. X    int yy_buf_size;
  214. X
  215. X    /* Number of characters read into yy_ch_buf, not including EOB
  216. X     * characters.
  217. X     */
  218. X    int yy_n_chars;
  219. X
  220. X    /* Whether this is an "interactive" input source; if so, and
  221. X     * if we're using stdio for input, then we want to use getc()
  222. X     * instead of fread(), to make sure we stop fetching input after
  223. X     * each newline.
  224. X     */
  225. X    int yy_is_interactive;
  226. X
  227. X    /* Whether to try to fill the input buffer when we reach the
  228. X     * end of it.
  229. X     */
  230. X    int yy_fill_buffer;
  231. X
  232. X    int yy_buffer_status;
  233. X#define YY_BUFFER_NEW 0
  234. X#define YY_BUFFER_NORMAL 1
  235. X    /* When an EOF's been seen but there's still some text to process
  236. X     * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  237. X     * shouldn't try reading from the input source any more.  We might
  238. X     * still have a bunch of tokens to match, though, because of
  239. X     * possible backing-up.
  240. X     *
  241. X     * When we actually see the EOF, we change the status to "new"
  242. X     * (via yyrestart()), so that the user can continue scanning by
  243. X     * just pointing yyin at a new input file.
  244. X     */
  245. X#define YY_BUFFER_EOF_PENDING 2
  246. X    };
  247. X
  248. Xstatic YY_BUFFER_STATE yy_current_buffer = 0;
  249. X
  250. X/* We provide macros for accessing buffer states in case in the
  251. X * future we want to put the buffer states in a more general
  252. X * "scanner state".
  253. X */
  254. X#define YY_CURRENT_BUFFER yy_current_buffer
  255. X
  256. X
  257. X/* yy_hold_char holds the character lost when yytext is formed. */
  258. Xstatic char yy_hold_char;
  259. X
  260. Xstatic int yy_n_chars;        /* number of characters read into yy_ch_buf */
  261. X
  262. X
  263. Xint yyleng;
  264. X
  265. X/* Points to current character in buffer. */
  266. Xstatic char *yy_c_buf_p = (char *) 0;
  267. Xstatic int yy_init = 1;        /* whether we need to initialize */
  268. Xstatic int yy_start = 0;    /* start state number */
  269. X
  270. X/* Flag which is used to allow yywrap()'s to do buffer switches
  271. X * instead of setting up a fresh yyin.  A bit of a hack ...
  272. X */
  273. Xstatic int yy_did_buffer_switch_on_eof;
  274. X
  275. Xstatic void yyunput YY_PROTO(( int c, char *buf_ptr ));
  276. Xvoid yyrestart YY_PROTO(( FILE *input_file ));
  277. Xvoid yy_switch_to_buffer YY_PROTO(( YY_BUFFER_STATE new_buffer ));
  278. Xvoid yy_load_buffer_state YY_PROTO(( void ));
  279. XYY_BUFFER_STATE yy_create_buffer YY_PROTO(( FILE *file, int size ));
  280. Xvoid yy_delete_buffer YY_PROTO(( YY_BUFFER_STATE b ));
  281. Xvoid yy_init_buffer YY_PROTO(( YY_BUFFER_STATE b, FILE *file ));
  282. X
  283. Xstatic int yy_start_stack_ptr = 0;
  284. Xstatic int yy_start_stack_depth = 0;
  285. Xstatic int *yy_start_stack = 0;
  286. Xstatic void yy_push_state YY_PROTO(( int new_state ));
  287. Xstatic void yy_pop_state YY_PROTO(( void ));
  288. Xstatic int yy_top_state YY_PROTO(( void ));
  289. X
  290. Xstatic void *yy_flex_alloc YY_PROTO(( unsigned int ));
  291. Xstatic void *yy_flex_realloc YY_PROTO(( void *, unsigned int ));
  292. Xstatic void yy_flex_free YY_PROTO(( void * ));
  293. X
  294. X#define yy_new_buffer yy_create_buffer
  295. X
  296. X#define INITIAL 0
  297. X#define STRING 1
  298. X#define INCLUDE 2
  299. X#define ASTCOMMENT 3
  300. Xtypedef unsigned char YY_CHAR;
  301. Xtypedef int yy_state_type;
  302. XFILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  303. Xextern char *yytext;
  304. X#define yytext_ptr yytext
  305. X
  306. X#ifndef yytext_ptr
  307. Xstatic void yy_flex_strncpy YY_PROTO(( char *, const char *, int ));
  308. X#endif
  309. X
  310. X#ifdef __cplusplus
  311. Xstatic int yyinput YY_PROTO(( void ));
  312. X#else
  313. Xstatic int input YY_PROTO(( void ));
  314. X#endif
  315. X
  316. Xstatic yy_state_type yy_get_previous_state YY_PROTO(( void ));
  317. Xstatic yy_state_type yy_try_NUL_trans YY_PROTO(( yy_state_type current_state ));
  318. Xstatic int yy_get_next_buffer YY_PROTO(( void ));
  319. Xstatic void yy_fatal_error YY_PROTO(( const char msg[] ));
  320. X
  321. X/* Done after the current pattern has been matched and before the
  322. X * corresponding action - sets up yytext.
  323. X */
  324. X#define YY_DO_BEFORE_ACTION \
  325. X    yytext_ptr = yy_bp; \
  326. X    yyleng = yy_cp - yy_bp; \
  327. X    yy_hold_char = *yy_cp; \
  328. X    *yy_cp = '\0'; \
  329. X    yy_c_buf_p = yy_cp;
  330. X
  331. X#define YY_END_OF_BUFFER 130
  332. Xstatic const short int yy_accept[341] =
  333. X    {   0,
  334. X        0,    0,    0,    0,    0,    0,    0,    0,  130,  129,
  335. X      126,  128,  127,   86,  106,  129,   98,   78,   77,  129,
  336. X       94,   95,   66,   88,   83,   87,   84,   69,  119,  119,
  337. X       81,   85,   70,   82,   71,   80,   98,   96,  129,   97,
  338. X       67,   98,   98,   98,   98,   98,   98,   98,   98,   98,
  339. X       98,   98,   98,   98,   98,   98,   75,   68,   76,   65,
  340. X      125,   69,  112,  110,  109,  112,  111,   18,   16,   17,
  341. X       18,   18,  105,  104,  103,  105,  126,  127,   57,    0,
  342. X        0,    0,    0,    0,    0,    0,   98,   73,   72,   74,
  343. X        0,    0,   60,   91,   92,   79,   93,   52,    0,  115,
  344. X
  345. X      101,   89,  116,  113,  119,    0,  119,    0,   53,   55,
  346. X       90,   56,   54,  106,    0,  124,   63,   98,   98,   98,
  347. X       98,   98,   98,   98,   26,   98,   98,   98,   98,   98,
  348. X       98,   34,   98,   98,   98,   98,   98,   98,   98,   98,
  349. X       98,   98,   98,   64,   58,    0,    0,  125,    0,  100,
  350. X      108,  107,  111,   16,    0,   15,    0,   14,  104,  102,
  351. X        0,    0,    0,    0,    7,    8,    0,    0,    0,    0,
  352. X      120,    0,  120,    0,    0,   59,    0,  115,  115,    0,
  353. X      116,  113,    0,  117,  114,   61,   62,   19,   98,   98,
  354. X       98,   98,   98,   98,   98,   98,   98,   98,   98,   32,
  355. X
  356. X       98,   98,   36,   98,   98,   98,   98,   98,   98,   98,
  357. X       98,   98,   98,   98,   98,   98,   98,   99,  100,    0,
  358. X        0,    0,    0,    0,    0,    0,    0,    0,    0,    0,
  359. X      121,  122,    0,    0,    0,  117,  115,    0,  118,  114,
  360. X       20,   98,   23,   22,   98,   98,   98,   28,   29,   98,
  361. X       98,   33,   98,   37,   98,   98,   98,   98,   98,   98,
  362. X       98,   98,   98,   98,   49,   98,   98,    0,    3,    4,
  363. X        0,    0,    0,    0,    0,   11,    0,    0,    0,  123,
  364. X        0,   21,   98,   98,   98,   98,   31,   98,   98,   98,
  365. X       40,   98,   98,   98,   98,   98,   98,   47,   98,   98,
  366. X
  367. X       51,    0,    5,    6,    9,    0,    0,    0,   13,   98,
  368. X       98,   27,   30,   35,   98,   39,   41,   42,   43,   44,
  369. X       98,   46,   98,   98,    2,   10,    0,   12,   98,   25,
  370. X       98,   45,   98,   98,    1,   24,   38,   48,   50,    0
  371. X    } ;
  372. X
  373. Xstatic const int yy_ec[256] =
  374. X    {   0,
  375. X        1,    1,    1,    1,    1,    1,    1,    1,    2,    3,
  376. X        1,    4,    1,    1,    1,    1,    1,    1,    1,    1,
  377. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  378. X        1,    5,    6,    7,    8,    9,   10,   11,   12,   13,
  379. X       14,   15,   16,   17,   18,   19,   20,   21,   22,   22,
  380. X       22,   22,   22,   22,   22,   23,   23,   24,   25,   26,
  381. X       27,   28,   29,   30,   31,   31,   31,   31,   32,   33,
  382. X        9,    9,    9,    9,    9,   34,    9,    9,    9,    9,
  383. X        9,    9,    9,    9,   35,    9,    9,    9,    9,    9,
  384. X       36,   37,   38,   39,    9,   30,   40,   41,   42,   43,
  385. X
  386. X       44,   45,   46,   47,   48,    9,   49,   50,   51,   52,
  387. X       53,   54,    9,   55,   56,   57,   58,   59,   60,   61,
  388. X       62,   63,   64,   65,   66,   67,    1,    1,    1,    1,
  389. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  390. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  391. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  392. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  393. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  394. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  395. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  396. X
  397. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  398. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  399. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  400. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  401. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  402. X        1,    1,    1,    1,    1
  403. X    } ;
  404. X
  405. Xstatic const int yy_meta[68] =
  406. X    {   0,
  407. X        1,    1,    1,    1,    2,    2,    3,    2,    4,    2,
  408. X        2,    5,    2,    2,    2,    2,    2,    2,    2,    2,
  409. X        6,    6,    7,    2,    2,    2,    2,    2,    3,    2,
  410. X        7,    7,    7,    4,    4,    2,    3,    2,    2,    6,
  411. X        6,    7,    7,    7,    6,    4,    4,    4,    4,    4,
  412. X        4,    8,    4,    4,    8,    4,    8,    4,    8,    4,
  413. X        8,    4,    4,    2,    2,    2,    2
  414. X    } ;
  415. X
  416. Xstatic const short int yy_base[352] =
  417. X    {   0,
  418. X        0,   66,   66,   72,   78,   85,   91,   95,  548,  549,
  419. X       97,  549,  544,  519,  549,  103,    0,  518,   80,  507,
  420. X      549,  549,  516,   62,  549,   94,   94,   55,  143,  105,
  421. X      549,  549,   92,  515,  102,  549,  113,  549,  538,  549,
  422. X      513,   75,  484,   95,   70,   82,   88,  485,  100,  484,
  423. X      492,  111,  473,  482,  480,  485,  549,  109,  165,  549,
  424. X      171,   57,  549,  549,  549,  172,  167,  549,  178,  549,
  425. X      524,  502,  549,  184,  549,  509,  190,  549,  549,  192,
  426. X      484,  150,  136,  479,  471,  473,    0,  549,  549,  549,
  427. X      512,  186,  549,  549,  549,  549,  549,  549,  504,  211,
  428. X
  429. X      549,  549,  230,  247,  264,  198,  549,    0,  495,  549,
  430. X      549,  549,  494,  549,  483,  549,  549,  468,  461,  473,
  431. X      460,  475,  462,  468,  454,  455,  452,  452,  455,  452,
  432. X      449,    0,  146,  453,  153,  451,  440,  175,  454,  447,
  433. X      134,  106,  452,  549,  549,  221,  484,  252,  483,  549,
  434. X      549,  549,  220,  271,  490,  549,  468,  549,  287,  549,
  435. X      450,  211,  451,  438,  549,  185,  450,  439,  450,  446,
  436. X      549,  476,  475,  227,    0,  549,  272,  549,  279,  309,
  437. X      549,  549,  294,  297,  299,  549,  549,    0,  433,  445,
  438. X      440,  428,  425,  441,  439,  435,  427,  433,  436,    0,
  439. X
  440. X      422,  426,    0,  427,  424,  413,  415,  425,  411,  409,
  441. X      409,  421,  411,  415,  419,  421,  410,  549,  549,  411,
  442. X      413,  413,  408,  402,  410,  410,  402,  407,  404,  405,
  443. X      549,  549,  314,  436,  316,  319,  549,  322,  325,  549,
  444. X        0,  398,    0,    0,  398,  387,  394,    0,    0,  388,
  445. X      385,    0,  389,    0,  384,  384,  381,  384,  388,  393,
  446. X      392,  107,  381,  386,    0,  374,  386,  377,  549,  549,
  447. X      383,  372,  381,  381,  366,  549,  372,  369,  399,  549,
  448. X      371,    0,  304,  305,  310,  301,    0,  308,  294,  298,
  449. X        0,  283,  279,  253,  262,  263,  261,    0,  252,  255,
  450. X
  451. X        0,  240,  549,  549,  549,  233,  234,  231,  549,  207,
  452. X      203,    0,    0,    0,  214,    0,    0,    0,    0,    0,
  453. X      193,    0,  174,  162,  549,  549,  162,  549,  100,    0,
  454. X       46,    0,   52,   32,  549,    0,    0,    0,    0,  549,
  455. X      357,  365,  373,  378,  385,  393,  401,  407,  410,  412,
  456. X      415
  457. X    } ;
  458. X
  459. Xstatic const short int yy_def[352] =
  460. X    {   0,
  461. X      340,    1,  341,  341,  342,  342,  343,  343,  340,  340,
  462. X      340,  340,  340,  340,  340,  340,  344,  340,  340,  345,
  463. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  464. X      340,  340,  340,  340,  340,  340,  344,  340,  340,  340,
  465. X      340,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  466. X      344,  344,  344,  344,  344,  344,  340,  340,  340,  340,
  467. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  468. X      346,  347,  340,  340,  340,  340,  340,  340,  340,  340,
  469. X      340,  340,  340,  340,  340,  340,  344,  340,  340,  340,
  470. X      340,  348,  340,  340,  340,  340,  340,  340,  340,  340,
  471. X
  472. X      340,  340,  340,  340,  340,  340,  340,  349,  340,  340,
  473. X      340,  340,  340,  340,  345,  340,  340,  344,  344,  344,
  474. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  475. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  476. X      344,  344,  344,  340,  340,  340,  340,  340,  340,  340,
  477. X      340,  340,  340,  340,  346,  340,  347,  340,  340,  340,
  478. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  479. X      340,  340,  340,  340,  350,  340,  340,  340,  340,  340,
  480. X      340,  340,  340,  340,  349,  340,  340,  344,  344,  344,
  481. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  482. X
  483. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  484. X      344,  344,  344,  344,  344,  344,  344,  340,  340,  340,
  485. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  486. X      340,  340,  340,  351,  340,  340,  340,  340,  340,  340,
  487. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  488. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  489. X      344,  344,  344,  344,  344,  344,  344,  340,  340,  340,
  490. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  491. X      340,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  492. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  493. X
  494. X      344,  340,  340,  340,  340,  340,  340,  340,  340,  344,
  495. X      344,  344,  344,  344,  344,  344,  344,  344,  344,  344,
  496. X      344,  344,  344,  344,  340,  340,  340,  340,  344,  344,
  497. X      344,  344,  344,  344,  340,  344,  344,  344,  344,    0,
  498. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  499. X      340
  500. X    } ;
  501. X
  502. Xstatic const short int yy_nxt[617] =
  503. X    {   0,
  504. X       10,   11,   12,   13,   11,   14,   15,   16,   17,   18,
  505. X       19,   20,   21,   22,   23,   24,   25,   26,   27,   28,
  506. X       29,   30,   30,   31,   32,   33,   34,   35,   36,   10,
  507. X       17,   17,   17,   37,   17,   38,   39,   40,   41,   42,
  508. X       43,   44,   45,   46,   47,   48,   17,   49,   17,   50,
  509. X       17,   17,   17,   17,   51,   52,   53,   54,   55,   56,
  510. X       17,   17,   17,   57,   58,   59,   60,   61,   64,  101,
  511. X       61,  150,   65,   67,   64,  339,   67,   94,   65,   69,
  512. X       70,  102,   69,  102,   71,   62,   69,   70,   95,   69,
  513. X       89,   71,   74,   75,  338,   74,   74,   75,   77,   74,
  514. X
  515. X      337,   77,   66,   72,   80,   76,   90,   80,   66,   76,
  516. X       72,   96,   99,  124,  100,  100,  100,  109,  110,  114,
  517. X       97,   98,  125,  103,  115,  105,  105,  105,  112,  113,
  518. X      118,  126,  119,  127,  121,  144,  106,  129,  107,  107,
  519. X      130,  122,  128,  336,  132,   81,   82,  123,  106,  296,
  520. X       83,  133,   84,  215,  107,  216,   85,  136,  137,  297,
  521. X       86,  103,  107,  104,  104,  105,  146,  138,  153,  146,
  522. X      139,  153,  148,  145,  106,  148,  107,  107,  151,  154,
  523. X      166,  213,  154,  151,  147,  159,  106,  167,  159,  214,
  524. X      149,   77,  107,   80,   77,  202,   80,  173,  205,  162,
  525. X
  526. X      107,  163,  203,  108,  164,  335,  174,  174,  152,  206,
  527. X      165,  334,  151,  183,  209,  183,  151,  333,  184,  184,
  528. X      184,  153,  146,  151,  153,  146,  151,  225,  151,  210,
  529. X      151,  100,  100,  100,   81,   82,  226,  332,  232,   83,
  530. X      147,   84,  177,  178,  178,   85,  175,  233,  233,   86,
  531. X      179,  179,  179,  148,  177,  178,  148,  331,  221,  330,
  532. X      178,  180,  181,  181,  329,  103,  222,  104,  104,  105,
  533. X      328,  149,  154,  180,  181,  154,  327,  326,  106,  181,
  534. X      182,  182,  103,  325,  105,  105,  105,  235,  159,  235,
  535. X      106,  159,  236,  236,  236,  106,  182,  107,  107,  179,
  536. X
  537. X      179,  179,  324,  323,  182,  322,  321,  106,  320,  319,
  538. X      106,  237,  237,  107,  184,  184,  184,  184,  184,  184,
  539. X      318,  107,  106,  237,  238,  232,  238,  317,  237,  239,
  540. X      239,  239,  240,  240,  279,  279,  236,  236,  236,  236,
  541. X      236,  236,  239,  239,  239,  239,  239,  239,  240,  316,
  542. X      315,  314,  313,  312,  311,  310,  240,   63,   63,   63,
  543. X       63,   63,   63,   63,   63,   68,   68,   68,   68,   68,
  544. X       68,   68,   68,   73,   73,   73,   73,   73,   73,   73,
  545. X       73,   87,  280,   87,   87,   87,   91,   91,   91,   91,
  546. X       91,   91,   91,  155,  155,  155,  155,  155,  155,  155,
  547. X
  548. X      155,  157,  157,  157,  157,  157,  157,  157,  157,  172,
  549. X      232,  172,  172,  309,  172,  185,  185,  234,  234,  281,
  550. X      281,  281,  308,  307,  306,  305,  304,  303,  302,  301,
  551. X      300,  299,  298,  295,  294,  293,  292,  291,  290,  289,
  552. X      288,  287,  286,  285,  284,  283,  282,  280,  278,  277,
  553. X      276,  275,  274,  273,  272,  271,  270,  269,  268,  267,
  554. X      266,  265,  264,  263,  262,  261,  260,  259,  258,  257,
  555. X      256,  255,  254,  253,  252,  251,  250,  249,  248,  247,
  556. X      246,  245,  244,  243,  242,  241,  231,  231,  230,  229,
  557. X      228,  227,  224,  223,  220,  158,  156,  219,  218,  217,
  558. X
  559. X      212,  211,  208,  207,  204,  201,  200,  199,  198,  197,
  560. X      196,  195,  194,  193,  192,  191,  190,  189,  188,   92,
  561. X      187,  186,  176,  171,  170,  169,  168,  161,  160,  158,
  562. X      156,  143,  142,  141,  140,  135,  134,  131,  120,  117,
  563. X      116,  111,   93,   92,   88,   79,   78,  340,    9,  340,
  564. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  565. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  566. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  567. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  568. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  569. X
  570. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  571. X      340,  340,  340,  340,  340,  340
  572. X    } ;
  573. X
  574. Xstatic const short int yy_chk[617] =
  575. X    {   0,
  576. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  577. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  578. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  579. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  580. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  581. X        1,    1,    1,    1,    1,    1,    1,    1,    1,    1,
  582. X        1,    1,    1,    1,    1,    1,    1,    2,    3,   28,
  583. X        2,   62,    3,    4,    4,  334,    4,   24,    4,    5,
  584. X        5,   28,    5,   62,    5,    2,    6,    6,   24,    6,
  585. X       19,    6,    7,    7,  333,    7,    8,    8,   11,    8,
  586. X
  587. X      331,   11,    3,    5,   16,    7,   19,   16,    4,    8,
  588. X        6,   26,   27,   45,   27,   27,   27,   33,   33,   37,
  589. X       26,   26,   45,   30,   37,   30,   30,   30,   35,   35,
  590. X       42,   46,   42,   46,   44,   58,   30,   47,   30,   30,
  591. X       47,   44,   46,  329,   49,   16,   16,   44,   30,  262,
  592. X       16,   49,   16,  142,   30,  142,   16,   52,   52,  262,
  593. X       16,   29,   30,   29,   29,   29,   59,   52,   67,   59,
  594. X       52,   67,   61,   58,   29,   61,   29,   29,   66,   69,
  595. X       83,  141,   69,   66,   59,   74,   29,   83,   74,  141,
  596. X       61,   77,   29,   80,   77,  133,   80,   92,  135,   82,
  597. X
  598. X       29,   82,  133,   29,   82,  327,   92,   92,   66,  135,
  599. X       82,  324,   66,  106,  138,  106,   66,  323,  106,  106,
  600. X      106,  153,  146,   66,  153,  146,   66,  166,   66,  138,
  601. X       66,  100,  100,  100,   80,   80,  166,  321,  174,   80,
  602. X      146,   80,  100,  100,  100,   80,   92,  174,  174,   80,
  603. X      103,  103,  103,  148,  100,  100,  148,  315,  162,  311,
  604. X      100,  103,  103,  103,  310,  104,  162,  104,  104,  104,
  605. X      308,  148,  154,  103,  103,  154,  307,  306,  104,  103,
  606. X      104,  104,  105,  302,  105,  105,  105,  177,  159,  177,
  607. X      104,  159,  177,  177,  177,  105,  104,  105,  105,  179,
  608. X
  609. X      179,  179,  300,  299,  104,  297,  296,  105,  295,  294,
  610. X      179,  179,  179,  105,  183,  183,  183,  184,  184,  184,
  611. X      293,  105,  179,  179,  180,  233,  180,  292,  179,  180,
  612. X      180,  180,  185,  185,  233,  233,  235,  235,  235,  236,
  613. X      236,  236,  238,  238,  238,  239,  239,  239,  185,  290,
  614. X      289,  288,  286,  285,  284,  283,  185,  341,  341,  341,
  615. X      341,  341,  341,  341,  341,  342,  342,  342,  342,  342,
  616. X      342,  342,  342,  343,  343,  343,  343,  343,  343,  343,
  617. X      343,  344,  281,  344,  344,  344,  345,  345,  345,  345,
  618. X      345,  345,  345,  346,  346,  346,  346,  346,  346,  346,
  619. X
  620. X      346,  347,  347,  347,  347,  347,  347,  347,  347,  348,
  621. X      279,  348,  348,  278,  348,  349,  349,  350,  350,  351,
  622. X      351,  351,  277,  275,  274,  273,  272,  271,  268,  267,
  623. X      266,  264,  263,  261,  260,  259,  258,  257,  256,  255,
  624. X      253,  251,  250,  247,  246,  245,  242,  234,  230,  229,
  625. X      228,  227,  226,  225,  224,  223,  222,  221,  220,  217,
  626. X      216,  215,  214,  213,  212,  211,  210,  209,  208,  207,
  627. X      206,  205,  204,  202,  201,  199,  198,  197,  196,  195,
  628. X      194,  193,  192,  191,  190,  189,  173,  172,  170,  169,
  629. X      168,  167,  164,  163,  161,  157,  155,  149,  147,  143,
  630. X
  631. X      140,  139,  137,  136,  134,  131,  130,  129,  128,  127,
  632. X      126,  125,  124,  123,  122,  121,  120,  119,  118,  115,
  633. X      113,  109,   99,   91,   86,   85,   84,   81,   76,   72,
  634. X       71,   56,   55,   54,   53,   51,   50,   48,   43,   41,
  635. X       39,   34,   23,   20,   18,   14,   13,    9,  340,  340,
  636. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  637. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  638. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  639. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  640. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  641. X
  642. X      340,  340,  340,  340,  340,  340,  340,  340,  340,  340,
  643. X      340,  340,  340,  340,  340,  340
  644. X    } ;
  645. X
  646. Xstatic yy_state_type yy_last_accepting_state;
  647. Xstatic char *yy_last_accepting_cpos;
  648. X
  649. X/* The intent behind this definition is that it'll catch
  650. X * any uses of REJECT which flex missed.
  651. X */
  652. X#define REJECT reject_used_but_not_detected
  653. X#define yymore() yymore_used_but_not_detected
  654. X#define YY_MORE_ADJ 0
  655. Xchar *yytext;
  656. X# line 1 "src/krc2latex.l"
  657. X/* $Id: krc2latex.l,v 3.0 1994/01/15 17:07:07 joke Rel $ */
  658. X# line 6 "src/krc2latex.l"
  659. X#include "defs.h"
  660. X
  661. X/* Macros after this point can all be overridden by user definitions in
  662. X * section 1.
  663. X */
  664. X
  665. X#ifdef YY_MALLOC_DECL
  666. XYY_MALLOC_DECL
  667. X#else
  668. X#if __STDC__
  669. X#ifndef __cplusplus
  670. X#include <stdlib.h>
  671. X#endif
  672. X#else
  673. X/* Just try to get by without declaring the routines.  This will fail
  674. X * miserably on non-ANSI systems for which sizeof(size_t) != sizeof(int)
  675. X * or sizeof(void*) != sizeof(int).
  676. X */
  677. X#endif
  678. X#endif
  679. X
  680. X/* Amount of stuff to slurp up with each read. */
  681. X#ifndef YY_READ_BUF_SIZE
  682. X#define YY_READ_BUF_SIZE 8192
  683. X#endif
  684. X
  685. X/* Copy whatever the last rule matched to the standard output. */
  686. X
  687. X#ifndef ECHO
  688. X/* This used to be an fputs(), but since the string might contain NUL's,
  689. X * we now use fwrite().
  690. X */
  691. X#define ECHO (void) fwrite( yytext, yyleng, 1, yyout )
  692. X#endif
  693. X
  694. X/* Gets input and stuffs it into "buf".  number of characters read, or YY_NULL,
  695. X * is returned in "result".
  696. X */
  697. X#ifndef YY_INPUT
  698. X#define YY_INPUT(buf,result,max_size) \
  699. X    if ( yy_current_buffer->yy_is_interactive ) \
  700. X        { \
  701. X        int c = getc( yyin ); \
  702. X        result = c == EOF ? 0 : 1; \
  703. X        buf[0] = (char) c; \
  704. X        } \
  705. X    else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
  706. X          && ferror( yyin ) ) \
  707. X        YY_FATAL_ERROR( "input in flex scanner failed" );
  708. X#endif
  709. X
  710. X/* No semi-colon after return; correct usage is to write "yyterminate();" -
  711. X * we don't want an extra ';' after the "return" because that will cause
  712. X * some compilers to complain about unreachable statements.
  713. X */
  714. X#ifndef yyterminate
  715. X#define yyterminate() return YY_NULL
  716. X#endif
  717. X
  718. X/* Number of entries by which start-condition stack grows. */
  719. X#ifndef YY_START_STACK_INCR
  720. X#define YY_START_STACK_INCR 25
  721. X#endif
  722. X
  723. X/* Report a fatal error. */
  724. X#ifndef YY_FATAL_ERROR
  725. X#define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  726. X#endif
  727. X
  728. X/* Default declaration of generated scanner - a define so the user can
  729. X * easily add parameters.
  730. X */
  731. X#ifndef YY_DECL
  732. X#define YY_DECL int yylex YY_PROTO(( void ))
  733. X#endif
  734. X
  735. X/* Code executed at the beginning of each rule, after yytext and yyleng
  736. X * have been set up.
  737. X */
  738. X#ifndef YY_USER_ACTION
  739. X#define YY_USER_ACTION
  740. X#endif
  741. X
  742. X/* Code executed at the end of each rule. */
  743. X#ifndef YY_BREAK
  744. X#define YY_BREAK break;
  745. X#endif
  746. X
  747. XYY_DECL
  748. X    {
  749. X    register yy_state_type yy_current_state;
  750. X    register char *yy_cp, *yy_bp;
  751. X    register int yy_act;
  752. X
  753. X# line 9 "src/krc2latex.l"
  754. X
  755. X            INIT;
  756. X
  757. X
  758. X    if ( yy_init )
  759. X        {
  760. X#ifdef YY_USER_INIT
  761. X        YY_USER_INIT;
  762. X#endif
  763. X
  764. X        if ( ! yy_start )
  765. X            yy_start = 1;    /* first start state */
  766. X
  767. X        if ( ! yyin )
  768. X            yyin = stdin;
  769. X
  770. X        if ( ! yyout )
  771. X            yyout = stdout;
  772. X
  773. X        if ( yy_current_buffer )
  774. X            yy_init_buffer( yy_current_buffer, yyin );
  775. X        else
  776. X            yy_current_buffer =
  777. X                yy_create_buffer( yyin, YY_BUF_SIZE );
  778. X
  779. X        yy_load_buffer_state();
  780. X
  781. X        yy_init = 0;
  782. X        }
  783. X
  784. X    while ( 1 )        /* loops until end-of-file is reached */
  785. X        {
  786. X        yy_cp = yy_c_buf_p;
  787. X
  788. X        /* Support of yytext. */
  789. X        *yy_cp = yy_hold_char;
  790. X
  791. X        /* yy_bp points to the position in yy_ch_buf of the start of
  792. X         * the current run.
  793. X         */
  794. X        yy_bp = yy_cp;
  795. X
  796. X        yy_current_state = yy_start;
  797. X        if ( yy_bp[-1] == '\n' )
  798. X            ++yy_current_state;
  799. Xyy_match:
  800. X        do
  801. X            {
  802. X            register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
  803. X            if ( yy_accept[yy_current_state] )
  804. X                {
  805. X                yy_last_accepting_state = yy_current_state;
  806. X                yy_last_accepting_cpos = yy_cp;
  807. X                }
  808. X            while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  809. X                {
  810. X                yy_current_state = (int) yy_def[yy_current_state];
  811. X                if ( yy_current_state >= 341 )
  812. X                    yy_c = yy_meta[(unsigned int) yy_c];
  813. X                }
  814. X            yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  815. X            ++yy_cp;
  816. X            }
  817. X        while ( yy_base[yy_current_state] != 549 );
  818. X
  819. Xyy_find_action:
  820. X        yy_act = yy_accept[yy_current_state];
  821. X
  822. X        YY_DO_BEFORE_ACTION;
  823. X
  824. X
  825. Xdo_action:    /* This label is used only to access EOF actions. */
  826. X
  827. X
  828. X        switch ( yy_act )
  829. X    { /* beginning of action switch */
  830. X            case 0: /* must back up */
  831. X            /* undo the effects of YY_DO_BEFORE_ACTION */
  832. X            *yy_cp = yy_hold_char;
  833. X            yy_cp = yy_last_accepting_cpos;
  834. X            yy_current_state = yy_last_accepting_state;
  835. X            goto yy_find_action;
  836. X
  837. Xcase 1:
  838. XYY_USER_ACTION
  839. X# line 12 "src/krc2latex.l"
  840. X{ CPP; BEGIN (INCLUDE); }
  841. X    YY_BREAK
  842. Xcase 2:
  843. X# line 15 "src/krc2latex.l"
  844. Xcase 3:
  845. X# line 16 "src/krc2latex.l"
  846. Xcase 4:
  847. X# line 17 "src/krc2latex.l"
  848. Xcase 5:
  849. X# line 18 "src/krc2latex.l"
  850. Xcase 6:
  851. X# line 19 "src/krc2latex.l"
  852. Xcase 7:
  853. X# line 20 "src/krc2latex.l"
  854. Xcase 8:
  855. X# line 21 "src/krc2latex.l"
  856. Xcase 9:
  857. X# line 22 "src/krc2latex.l"
  858. Xcase 10:
  859. X# line 23 "src/krc2latex.l"
  860. Xcase 11:
  861. X# line 24 "src/krc2latex.l"
  862. Xcase 12:
  863. X# line 25 "src/krc2latex.l"
  864. Xcase 13:
  865. XYY_USER_ACTION
  866. X# line 25 "src/krc2latex.l"
  867. XCPP;
  868. X    YY_BREAK
  869. Xcase 14:
  870. X*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  871. Xyy_c_buf_p = yy_cp -= 1;
  872. XYY_DO_BEFORE_ACTION; /* set up yytext again */
  873. XYY_USER_ACTION
  874. X# line 28 "src/krc2latex.l"
  875. X{ OUT ("$<$"); FONT (string_font);
  876. X              SUB (yytext+1); OUT ("}$>$");
  877. X              input(); INIT; }
  878. X    YY_BREAK
  879. Xcase 15:
  880. X*yy_cp = yy_hold_char; /* undo effects of setting up yytext */
  881. Xyy_c_buf_p = yy_cp -= 1;
  882. XYY_DO_BEFORE_ACTION; /* set up yytext again */
  883. XYY_USER_ACTION
  884. X# line 31 "src/krc2latex.l"
  885. X{ OUT ("\""); FONT (string_font);
  886. X              SUB (yytext+1); OUT ("}\"");
  887. X              input(); INIT; }
  888. X    YY_BREAK
  889. Xcase 16:
  890. XYY_USER_ACTION
  891. X# line 34 "src/krc2latex.l"
  892. XECHO;
  893. X    YY_BREAK
  894. Xcase 17:
  895. XYY_USER_ACTION
  896. X# line 35 "src/krc2latex.l"
  897. XOUT ("\\mbox{}\\\\\n");
  898. X    YY_BREAK
  899. Xcase 18:
  900. XYY_USER_ACTION
  901. X# line 36 "src/krc2latex.l"
  902. X{ REPARSE; INIT; }
  903. X    YY_BREAK
  904. X    /* from: gcc-2.2/c-parse.gperf */
  905. Xcase 19:
  906. X# line 41 "src/krc2latex.l"
  907. Xcase 20:
  908. X# line 42 "src/krc2latex.l"
  909. Xcase 21:
  910. X# line 43 "src/krc2latex.l"
  911. Xcase 22:
  912. X# line 44 "src/krc2latex.l"
  913. Xcase 23:
  914. X# line 45 "src/krc2latex.l"
  915. Xcase 24:
  916. X# line 46 "src/krc2latex.l"
  917. Xcase 25:
  918. X# line 47 "src/krc2latex.l"
  919. Xcase 26:
  920. X# line 48 "src/krc2latex.l"
  921. Xcase 27:
  922. X# line 49 "src/krc2latex.l"
  923. Xcase 28:
  924. X# line 50 "src/krc2latex.l"
  925. Xcase 29:
  926. X# line 51 "src/krc2latex.l"
  927. Xcase 30:
  928. X# line 52 "src/krc2latex.l"
  929. Xcase 31:
  930. X# line 53 "src/krc2latex.l"
  931. Xcase 32:
  932. X# line 54 "src/krc2latex.l"
  933. Xcase 33:
  934. X# line 55 "src/krc2latex.l"
  935. Xcase 34:
  936. X# line 56 "src/krc2latex.l"
  937. Xcase 35:
  938. X# line 57 "src/krc2latex.l"
  939. Xcase 36:
  940. X# line 58 "src/krc2latex.l"
  941. Xcase 37:
  942. X# line 59 "src/krc2latex.l"
  943. Xcase 38:
  944. X# line 60 "src/krc2latex.l"
  945. Xcase 39:
  946. X# line 61 "src/krc2latex.l"
  947. Xcase 40:
  948. X# line 62 "src/krc2latex.l"
  949. Xcase 41:
  950. X# line 63 "src/krc2latex.l"
  951. Xcase 42:
  952. X# line 64 "src/krc2latex.l"
  953. Xcase 43:
  954. X# line 65 "src/krc2latex.l"
  955. Xcase 44:
  956. X# line 66 "src/krc2latex.l"
  957. Xcase 45:
  958. X# line 67 "src/krc2latex.l"
  959. Xcase 46:
  960. X# line 68 "src/krc2latex.l"
  961. Xcase 47:
  962. X# line 69 "src/krc2latex.l"
  963. Xcase 48:
  964. X# line 70 "src/krc2latex.l"
  965. Xcase 49:
  966. X# line 71 "src/krc2latex.l"
  967. Xcase 50:
  968. X# line 72 "src/krc2latex.l"
  969. Xcase 51:
  970. XYY_USER_ACTION
  971. X# line 72 "src/krc2latex.l"
  972. XKEY;
  973. X    YY_BREAK
  974. Xcase 52:
  975. XYY_USER_ACTION
  976. X# line 75 "src/krc2latex.l"
  977. XSYM ("rightarrow");
  978. X    YY_BREAK
  979. Xcase 53:
  980. XYY_USER_ACTION
  981. X# line 76 "src/krc2latex.l"
  982. XSYM ("ll");
  983. X    YY_BREAK
  984. Xcase 54:
  985. XYY_USER_ACTION
  986. X# line 77 "src/krc2latex.l"
  987. XSYM ("gg");
  988. X    YY_BREAK
  989. Xcase 55:
  990. XYY_USER_ACTION
  991. X# line 78 "src/krc2latex.l"
  992. XSYM ("leq");
  993. X    YY_BREAK
  994. Xcase 56:
  995. XYY_USER_ACTION
  996. X# line 79 "src/krc2latex.l"
  997. XSYM ("geq");
  998. X    YY_BREAK
  999. Xcase 57:
  1000. XYY_USER_ACTION
  1001. X# line 80 "src/krc2latex.l"
  1002. XSYM ("neq");
  1003. X    YY_BREAK
  1004. Xcase 58:
  1005. XYY_USER_ACTION
  1006. X# line 81 "src/krc2latex.l"
  1007. XSYM ("mid\\mid");
  1008. X    YY_BREAK
  1009. Xcase 59:
  1010. XYY_USER_ACTION
  1011. X# line 82 "src/krc2latex.l"
  1012. XSYM ("ldots");
  1013. X    YY_BREAK
  1014. Xcase 60:
  1015. XYY_USER_ACTION
  1016. X# line 83 "src/krc2latex.l"
  1017. XSYM ("ast=");
  1018. X    YY_BREAK
  1019. Xcase 61:
  1020. XYY_USER_ACTION
  1021. X# line 84 "src/krc2latex.l"
  1022. XSYM ("ll=");
  1023. X    YY_BREAK
  1024. Xcase 62:
  1025. XYY_USER_ACTION
  1026. X# line 85 "src/krc2latex.l"
  1027. XSYM ("gg=");
  1028. X    YY_BREAK
  1029. Xcase 63:
  1030. XYY_USER_ACTION
  1031. X# line 86 "src/krc2latex.l"
  1032. XSYM ("vee=");
  1033. X    YY_BREAK
  1034. Xcase 64:
  1035. XYY_USER_ACTION
  1036. X# line 87 "src/krc2latex.l"
  1037. XSYM ("mid=");
  1038. X    YY_BREAK
  1039. Xcase 65:
  1040. XYY_USER_ACTION
  1041. X# line 88 "src/krc2latex.l"
  1042. XSYM ("sim");
  1043. X    YY_BREAK
  1044. Xcase 66:
  1045. XYY_USER_ACTION
  1046. X# line 89 "src/krc2latex.l"
  1047. XSYM ("ast");
  1048. X    YY_BREAK
  1049. Xcase 67:
  1050. XYY_USER_ACTION
  1051. X# line 90 "src/krc2latex.l"
  1052. XSYM ("wedge");
  1053. X    YY_BREAK
  1054. Xcase 68:
  1055. XYY_USER_ACTION
  1056. X# line 91 "src/krc2latex.l"
  1057. XSYM ("mid");
  1058. X    YY_BREAK
  1059. Xcase 69:
  1060. XYY_USER_ACTION
  1061. X# line 92 "src/krc2latex.l"
  1062. XOUT ("$/$");
  1063. X    YY_BREAK
  1064. Xcase 70:
  1065. XYY_USER_ACTION
  1066. X# line 93 "src/krc2latex.l"
  1067. XOUT ("$<$");
  1068. X    YY_BREAK
  1069. Xcase 71:
  1070. XYY_USER_ACTION
  1071. X# line 94 "src/krc2latex.l"
  1072. XOUT ("$>$");
  1073. X    YY_BREAK
  1074. Xcase 72:
  1075. XYY_USER_ACTION
  1076. X# line 95 "src/krc2latex.l"
  1077. XOUT ("\\&\\&");
  1078. X    YY_BREAK
  1079. Xcase 73:
  1080. XYY_USER_ACTION
  1081. X# line 96 "src/krc2latex.l"
  1082. XOUT ("\\%=");
  1083. X    YY_BREAK
  1084. Xcase 74:
  1085. XYY_USER_ACTION
  1086. X# line 97 "src/krc2latex.l"
  1087. XOUT ("\\&=");
  1088. X    YY_BREAK
  1089. Xcase 75:
  1090. XYY_USER_ACTION
  1091. X# line 98 "src/krc2latex.l"
  1092. XOUT ("\\{");
  1093. X    YY_BREAK
  1094. Xcase 76:
  1095. XYY_USER_ACTION
  1096. X# line 99 "src/krc2latex.l"
  1097. XOUT ("\\}");
  1098. X    YY_BREAK
  1099. Xcase 77:
  1100. XYY_USER_ACTION
  1101. X# line 100 "src/krc2latex.l"
  1102. XOUT ("\\&");
  1103. X    YY_BREAK
  1104. Xcase 78:
  1105. XYY_USER_ACTION
  1106. X# line 101 "src/krc2latex.l"
  1107. XOUT ("\\%");
  1108. X    YY_BREAK
  1109. Xcase 79:
  1110. XYY_USER_ACTION
  1111. X# line 102 "src/krc2latex.l"
  1112. XOUT ("-{}-");
  1113. X    YY_BREAK
  1114. Xcase 80:
  1115. X# line 104 "src/krc2latex.l"
  1116. Xcase 81:
  1117. X# line 105 "src/krc2latex.l"
  1118. Xcase 82:
  1119. X# line 106 "src/krc2latex.l"
  1120. Xcase 83:
  1121. X# line 107 "src/krc2latex.l"
  1122. Xcase 84:
  1123. X# line 108 "src/krc2latex.l"
  1124. Xcase 85:
  1125. X# line 109 "src/krc2latex.l"
  1126. Xcase 86:
  1127. X# line 110 "src/krc2latex.l"
  1128. Xcase 87:
  1129. X# line 111 "src/krc2latex.l"
  1130. Xcase 88:
  1131. X# line 112 "src/krc2latex.l"
  1132. Xcase 89:
  1133. X# line 113 "src/krc2latex.l"
  1134. Xcase 90:
  1135. X# line 114 "src/krc2latex.l"
  1136. Xcase 91:
  1137. X# line 115 "src/krc2latex.l"
  1138. Xcase 92:
  1139. X# line 116 "src/krc2latex.l"
  1140. Xcase 93:
  1141. X# line 117 "src/krc2latex.l"
  1142. Xcase 94:
  1143. X# line 118 "src/krc2latex.l"
  1144. Xcase 95:
  1145. X# line 119 "src/krc2latex.l"
  1146. Xcase 96:
  1147. X# line 120 "src/krc2latex.l"
  1148. Xcase 97:
  1149. XYY_USER_ACTION
  1150. X# line 120 "src/krc2latex.l"
  1151. XECHO;
  1152. X    YY_BREAK
  1153. Xcase 98:
  1154. XYY_USER_ACTION
  1155. X# line 123 "src/krc2latex.l"
  1156. XSUB (yytext);
  1157. X    YY_BREAK
  1158. X /*    1.   Asterisk comments mini scanner */
  1159. X /*    1.1. Curly  brace comment */
  1160. Xcase 99:
  1161. XYY_USER_ACTION
  1162. X# line 128 "src/krc2latex.l"
  1163. X{ BEGIN (ASTCOMMENT);
  1164. X                                OUT ("\\}");
  1165. X                                BTAB;
  1166. X                                FONT (comment_font);
  1167. X                                OUT ("/$\\ast$"); }
  1168. X    YY_BREAK
  1169. X /*    1.2. Comments at the beginning of a line */
  1170. Xcase 100:
  1171. XYY_USER_ACTION
  1172. X# line 135 "src/krc2latex.l"
  1173. X{ BEGIN (ASTCOMMENT);
  1174. X                FONT (comment_font);
  1175. X                                REPARSE; }
  1176. X    YY_BREAK
  1177. X /*    1.3. Other comments, aligned to right side of paper */
  1178. Xcase 101:
  1179. XYY_USER_ACTION
  1180. X# line 140 "src/krc2latex.l"
  1181. X{ BEGIN (ASTCOMMENT);
  1182. X                                if (aligntoright) {
  1183. X                    OUT ("\\hfill");
  1184. X                } else {
  1185. X                    CTAB;
  1186. X                }
  1187. X                FONT (comment_font);
  1188. X                                OUT ("/$\\ast$"); }
  1189. X    YY_BREAK
  1190. Xcase 102:
  1191. XYY_USER_ACTION
  1192. X# line 149 "src/krc2latex.l"
  1193. X{ INIT; OUT ("$\\ast$/}"); }
  1194. X    YY_BREAK
  1195. Xcase 103:
  1196. XYY_USER_ACTION
  1197. X# line 150 "src/krc2latex.l"
  1198. X{ OUT ("}\\mbox{}\\\\\n"); FONT (comment_font); }
  1199. X    YY_BREAK
  1200. Xcase 104:
  1201. XYY_USER_ACTION
  1202. X# line 151 "src/krc2latex.l"
  1203. XIND;
  1204. X    YY_BREAK
  1205. Xcase 105:
  1206. XYY_USER_ACTION
  1207. X# line 152 "src/krc2latex.l"
  1208. XSUB (yytext);
  1209. X    YY_BREAK
  1210. Xcase 106:
  1211. XYY_USER_ACTION
  1212. X# line 155 "src/krc2latex.l"
  1213. X{ BEGIN (STRING);
  1214. X                FONT (string_font); OUT ("\""); }
  1215. X    YY_BREAK
  1216. Xcase 107:
  1217. XYY_USER_ACTION
  1218. X# line 157 "src/krc2latex.l"
  1219. XOUT ("$\\backslash\\backslash$");
  1220. X    YY_BREAK
  1221. Xcase 108:
  1222. XYY_USER_ACTION
  1223. X# line 158 "src/krc2latex.l"
  1224. X{ OUT ("$\\backslash$"); SUB (yytext+1); }
  1225. X    YY_BREAK
  1226. Xcase 109:
  1227. XYY_USER_ACTION
  1228. X# line 159 "src/krc2latex.l"
  1229. X{ INIT; OUT ("\"}"); }
  1230. X    YY_BREAK
  1231. Xcase 110:
  1232. XYY_USER_ACTION
  1233. X# line 160 "src/krc2latex.l"
  1234. XOUT ("\\mbox{}\\\\\n");
  1235. X    YY_BREAK
  1236. Xcase 111:
  1237. XYY_USER_ACTION
  1238. X# line 161 "src/krc2latex.l"
  1239. XIND;
  1240. X    YY_BREAK
  1241. Xcase 112:
  1242. XYY_USER_ACTION
  1243. X# line 162 "src/krc2latex.l"
  1244. XSUB (yytext);
  1245. X    YY_BREAK
  1246. Xcase 113:
  1247. XYY_USER_ACTION
  1248. X# line 165 "src/krc2latex.l"
  1249. XECHO;
  1250. X    YY_BREAK
  1251. Xcase 114:
  1252. XYY_USER_ACTION
  1253. X# line 167 "src/krc2latex.l"
  1254. XECHO;
  1255. X    YY_BREAK
  1256. Xcase 115:
  1257. X# line 170 "src/krc2latex.l"
  1258. Xcase 116:
  1259. X# line 171 "src/krc2latex.l"
  1260. Xcase 117:
  1261. X# line 172 "src/krc2latex.l"
  1262. Xcase 118:
  1263. XYY_USER_ACTION
  1264. X# line 172 "src/krc2latex.l"
  1265. XECHO;
  1266. X    YY_BREAK
  1267. Xcase 119:
  1268. XYY_USER_ACTION
  1269. X# line 174 "src/krc2latex.l"
  1270. XECHO;
  1271. X    YY_BREAK
  1272. Xcase 120:
  1273. X# line 177 "src/krc2latex.l"
  1274. Xcase 121:
  1275. X# line 178 "src/krc2latex.l"
  1276. Xcase 122:
  1277. X# line 179 "src/krc2latex.l"
  1278. Xcase 123:
  1279. XYY_USER_ACTION
  1280. X# line 179 "src/krc2latex.l"
  1281. XSUB (yytext);
  1282. X    YY_BREAK
  1283. Xcase 124:
  1284. XYY_USER_ACTION
  1285. X# line 181 "src/krc2latex.l"
  1286. XOUT ("$\\backslash$\\\\\n");
  1287. X    YY_BREAK
  1288. Xcase 125:
  1289. XYY_USER_ACTION
  1290. X# line 182 "src/krc2latex.l"
  1291. XIND;
  1292. X    YY_BREAK
  1293. Xcase 126:
  1294. XYY_USER_ACTION
  1295. X# line 183 "src/krc2latex.l"
  1296. XECHO;
  1297. X    YY_BREAK
  1298. Xcase 127:
  1299. XYY_USER_ACTION
  1300. X# line 184 "src/krc2latex.l"
  1301. XOUT ("\\newpage\n");
  1302. X    YY_BREAK
  1303. Xcase 128:
  1304. XYY_USER_ACTION
  1305. X# line 185 "src/krc2latex.l"
  1306. XOUT ("\\mbox{}\\\\\n");
  1307. X    YY_BREAK
  1308. Xcase 129:
  1309. XYY_USER_ACTION
  1310. X# line 186 "src/krc2latex.l"
  1311. XECHO;
  1312. X    YY_BREAK
  1313. Xcase YY_STATE_EOF(INITIAL):
  1314. Xcase YY_STATE_EOF(STRING):
  1315. Xcase YY_STATE_EOF(INCLUDE):
  1316. Xcase YY_STATE_EOF(ASTCOMMENT):
  1317. X    yyterminate();
  1318. X
  1319. X    case YY_END_OF_BUFFER:
  1320. X        {
  1321. X        /* Amount of text matched not including the EOB char. */
  1322. X        int yy_amount_of_matched_text = yy_cp - yytext_ptr - 1;
  1323. X
  1324. X        /* Undo the effects of YY_DO_BEFORE_ACTION. */
  1325. X        *yy_cp = yy_hold_char;
  1326. X
  1327. X        if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_NEW )
  1328. X            {
  1329. X            /* We're scanning a new file or input source.  It's
  1330. X             * possible that this happened because the user
  1331. X             * just pointed yyin at a new source and called
  1332. X             * yylex().  If so, then we have to assure
  1333. X             * consistency between yy_current_buffer and our
  1334. X             * globals.  Here is the right place to do so, because
  1335. X             * this is the first action (other than possibly a
  1336. X             * back-up) that will match for the new input source.
  1337. X             */
  1338. X            yy_n_chars = yy_current_buffer->yy_n_chars;
  1339. X            yy_current_buffer->yy_input_file = yyin;
  1340. X            yy_current_buffer->yy_buffer_status = YY_BUFFER_NORMAL;
  1341. X            }
  1342. X
  1343. X        /* Note that here we test for yy_c_buf_p "<=" to the position
  1344. X         * of the first EOB in the buffer, since yy_c_buf_p will
  1345. X         * already have been incremented past the NUL character
  1346. X         * (since all states make transitions on EOB to the
  1347. X         * end-of-buffer state).  Contrast this with the test
  1348. X         * in input().
  1349. X         */
  1350. X        if ( yy_c_buf_p <= &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1351. X            { /* This was really a NUL. */
  1352. X            yy_state_type yy_next_state;
  1353. X
  1354. X            yy_c_buf_p = yytext_ptr + yy_amount_of_matched_text;
  1355. X
  1356. X            yy_current_state = yy_get_previous_state();
  1357. X
  1358. X            /* Okay, we're now positioned to make the NUL
  1359. X             * transition.  We couldn't have
  1360. X             * yy_get_previous_state() go ahead and do it
  1361. X             * for us because it doesn't know how to deal
  1362. X             * with the possibility of jamming (and we don't
  1363. X             * want to build jamming into it because then it
  1364. X             * will run more slowly).
  1365. X             */
  1366. X
  1367. X            yy_next_state = yy_try_NUL_trans( yy_current_state );
  1368. X
  1369. X            yy_bp = yytext_ptr + YY_MORE_ADJ;
  1370. X
  1371. X            if ( yy_next_state )
  1372. X                {
  1373. X                /* Consume the NUL. */
  1374. X                yy_cp = ++yy_c_buf_p;
  1375. X                yy_current_state = yy_next_state;
  1376. X                goto yy_match;
  1377. X                }
  1378. X
  1379. X            else
  1380. X                {
  1381. X                            yy_cp = yy_c_buf_p;
  1382. X                goto yy_find_action;
  1383. X                }
  1384. X            }
  1385. X
  1386. X        else switch ( yy_get_next_buffer() )
  1387. X            {
  1388. X            case EOB_ACT_END_OF_FILE:
  1389. X                {
  1390. X                yy_did_buffer_switch_on_eof = 0;
  1391. X
  1392. X                if ( yywrap() )
  1393. X                    {
  1394. X                    /* Note: because we've taken care in
  1395. X                     * yy_get_next_buffer() to have set up
  1396. X                     * yytext, we can now set up
  1397. X                     * yy_c_buf_p so that if some total
  1398. X                     * hoser (like flex itself) wants to
  1399. X                     * call the scanner after we return the
  1400. X                     * YY_NULL, it'll still work - another
  1401. X                     * YY_NULL will get returned.
  1402. X                     */
  1403. X                    yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  1404. X
  1405. X                    yy_act = YY_STATE_EOF(YY_START);
  1406. X                    goto do_action;
  1407. X                    }
  1408. X
  1409. X                else
  1410. X                    {
  1411. X                    if ( ! yy_did_buffer_switch_on_eof )
  1412. X                        YY_NEW_FILE;
  1413. X                    }
  1414. X                break;
  1415. X                }
  1416. X
  1417. X            case EOB_ACT_CONTINUE_SCAN:
  1418. X                yy_c_buf_p =
  1419. X                    yytext_ptr + yy_amount_of_matched_text;
  1420. X
  1421. X                yy_current_state = yy_get_previous_state();
  1422. X
  1423. X                yy_cp = yy_c_buf_p;
  1424. X                yy_bp = yytext_ptr + YY_MORE_ADJ;
  1425. X                goto yy_match;
  1426. X
  1427. X            case EOB_ACT_LAST_MATCH:
  1428. X                yy_c_buf_p =
  1429. X                &yy_current_buffer->yy_ch_buf[yy_n_chars];
  1430. X
  1431. X                yy_current_state = yy_get_previous_state();
  1432. X
  1433. X                yy_cp = yy_c_buf_p;
  1434. X                yy_bp = yytext_ptr + YY_MORE_ADJ;
  1435. X                goto yy_find_action;
  1436. X            }
  1437. X        break;
  1438. X        }
  1439. X
  1440. X    default:
  1441. X        YY_FATAL_ERROR(
  1442. X            "fatal flex scanner internal error--no action found" );
  1443. X    } /* end of action switch */
  1444. X        } /* end of scanning one token */
  1445. X    } /* end of yylex */
  1446. X
  1447. X
  1448. X/* yy_get_next_buffer - try to read in a new buffer
  1449. X *
  1450. X * Returns a code representing an action:
  1451. X *    EOB_ACT_LAST_MATCH -
  1452. X *    EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  1453. X *    EOB_ACT_END_OF_FILE - end of file
  1454. X */
  1455. X
  1456. Xstatic int yy_get_next_buffer()
  1457. X    {
  1458. X    register char *dest = yy_current_buffer->yy_ch_buf;
  1459. X    register char *source = yytext_ptr - 1; /* copy prev. char, too */
  1460. X    register int number_to_move, i;
  1461. X    int ret_val;
  1462. X
  1463. X    if ( yy_c_buf_p > &yy_current_buffer->yy_ch_buf[yy_n_chars + 1] )
  1464. X        YY_FATAL_ERROR(
  1465. X        "fatal flex scanner internal error--end of buffer missed" );
  1466. X
  1467. X    if ( yy_current_buffer->yy_fill_buffer == 0 )
  1468. X        { /* Don't try to fill the buffer, so this is an EOF. */
  1469. X        if ( yy_c_buf_p - yytext_ptr - YY_MORE_ADJ == 1 )
  1470. X            {
  1471. X            /* We matched a singled characater, the EOB, so
  1472. X             * treat this as a final EOF.
  1473. X             */
  1474. X            return EOB_ACT_END_OF_FILE;
  1475. X            }
  1476. X
  1477. X        else
  1478. X            {
  1479. X            /* We matched some text prior to the EOB, first
  1480. X             * process it.
  1481. X             */
  1482. X            return EOB_ACT_LAST_MATCH;
  1483. X            }
  1484. X        }
  1485. X
  1486. X    /* Try to read more data. */
  1487. X
  1488. X    /* First move last chars to start of buffer. */
  1489. X    number_to_move = yy_c_buf_p - yytext_ptr;
  1490. X
  1491. X    for ( i = 0; i < number_to_move; ++i )
  1492. X        *(dest++) = *(source++);
  1493. X
  1494. X    if ( yy_current_buffer->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  1495. X        /* don't do the read, it's not guaranteed to return an EOF,
  1496. X         * just force an EOF
  1497. X         */
  1498. X        yy_n_chars = 0;
  1499. X
  1500. X    else
  1501. X        {
  1502. X        int num_to_read =
  1503. X            yy_current_buffer->yy_buf_size - number_to_move - 1;
  1504. X
  1505. X        while ( num_to_read <= 0 )
  1506. X            { /* Not enough room in the buffer - grow it. */
  1507. X#ifdef YY_USES_REJECT
  1508. X            YY_FATAL_ERROR(
  1509. X"input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  1510. X#else
  1511. X
  1512. X            /* just a shorter name for the current buffer */
  1513. X            YY_BUFFER_STATE b = yy_current_buffer;
  1514. X
  1515. X            int yy_c_buf_p_offset = yy_c_buf_p - b->yy_ch_buf;
  1516. X
  1517. X            b->yy_buf_size *= 2;
  1518. X            b->yy_ch_buf = (char *)
  1519. X                yy_flex_realloc( (void *) b->yy_ch_buf,
  1520. X                         b->yy_buf_size );
  1521. X
  1522. X            if ( ! b->yy_ch_buf )
  1523. X                YY_FATAL_ERROR(
  1524. X                "fatal error - scanner input buffer overflow" );
  1525. X
  1526. X            yy_c_buf_p = &b->yy_ch_buf[yy_c_buf_p_offset];
  1527. X
  1528. X            num_to_read = yy_current_buffer->yy_buf_size -
  1529. X                        number_to_move - 1;
  1530. X#endif
  1531. X            }
  1532. X
  1533. X        if ( num_to_read > YY_READ_BUF_SIZE )
  1534. X            num_to_read = YY_READ_BUF_SIZE;
  1535. X
  1536. X        /* Read in more data. */
  1537. X        YY_INPUT( (&yy_current_buffer->yy_ch_buf[number_to_move]),
  1538. X            yy_n_chars, num_to_read );
  1539. X        }
  1540. X
  1541. X    if ( yy_n_chars == 0 )
  1542. X        {
  1543. X        if ( number_to_move - YY_MORE_ADJ == 1 )
  1544. X            {
  1545. X            ret_val = EOB_ACT_END_OF_FILE;
  1546. X            yyrestart( yyin );
  1547. X            }
  1548. X
  1549. X        else
  1550. X            {
  1551. X            ret_val = EOB_ACT_LAST_MATCH;
  1552. X            yy_current_buffer->yy_buffer_status =
  1553. X                YY_BUFFER_EOF_PENDING;
  1554. X            }
  1555. X        }
  1556. X
  1557. X    else
  1558. X        ret_val = EOB_ACT_CONTINUE_SCAN;
  1559. X
  1560. X    yy_n_chars += number_to_move;
  1561. X    yy_current_buffer->yy_ch_buf[yy_n_chars] = YY_END_OF_BUFFER_CHAR;
  1562. X    yy_current_buffer->yy_ch_buf[yy_n_chars + 1] = YY_END_OF_BUFFER_CHAR;
  1563. X
  1564. X    /* yytext begins at the second character in yy_ch_buf; the first
  1565. X     * character is the one which preceded it before reading in the latest
  1566. X     * buffer; it needs to be kept around in case it's a newline, so
  1567. X     * yy_get_previous_state() will have with '^' rules active.
  1568. X     */
  1569. X
  1570. X    yytext_ptr = &yy_current_buffer->yy_ch_buf[1];
  1571. X
  1572. X    return ret_val;
  1573. X    }
  1574. X
  1575. X
  1576. X/* yy_get_previous_state - get the state just before the EOB char was reached */
  1577. X
  1578. Xstatic yy_state_type yy_get_previous_state()
  1579. X    {
  1580. X    register yy_state_type yy_current_state;
  1581. X    register char *yy_cp;
  1582. X
  1583. X    register char *yy_bp = yytext_ptr;
  1584. X
  1585. X    yy_current_state = yy_start;
  1586. X    if ( yy_bp[-1] == '\n' )
  1587. X        ++yy_current_state;
  1588. X
  1589. X    for ( yy_cp = yytext_ptr + YY_MORE_ADJ; yy_cp < yy_c_buf_p; ++yy_cp )
  1590. X        {
  1591. X        register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  1592. X        if ( yy_accept[yy_current_state] )
  1593. X            {
  1594. X            yy_last_accepting_state = yy_current_state;
  1595. X            yy_last_accepting_cpos = yy_cp;
  1596. X            }
  1597. X        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1598. X            {
  1599. X            yy_current_state = (int) yy_def[yy_current_state];
  1600. X            if ( yy_current_state >= 341 )
  1601. X                yy_c = yy_meta[(unsigned int) yy_c];
  1602. X            }
  1603. X        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1604. X        }
  1605. X
  1606. X    return yy_current_state;
  1607. X    }
  1608. X
  1609. X
  1610. X/* yy_try_NUL_trans - try to make a transition on the NUL character
  1611. X *
  1612. X * synopsis
  1613. X *    next_state = yy_try_NUL_trans( current_state );
  1614. X */
  1615. X
  1616. X#ifdef YY_USE_PROTOS
  1617. Xstatic yy_state_type yy_try_NUL_trans( yy_state_type yy_current_state )
  1618. X#else
  1619. Xstatic yy_state_type yy_try_NUL_trans( yy_current_state )
  1620. Xyy_state_type yy_current_state;
  1621. X#endif
  1622. X    {
  1623. X    register int yy_is_jam;
  1624. X    register char *yy_cp = yy_c_buf_p;
  1625. X
  1626. X    register YY_CHAR yy_c = 1;
  1627. X    if ( yy_accept[yy_current_state] )
  1628. X        {
  1629. X        yy_last_accepting_state = yy_current_state;
  1630. X        yy_last_accepting_cpos = yy_cp;
  1631. X        }
  1632. X    while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1633. X        {
  1634. X        yy_current_state = (int) yy_def[yy_current_state];
  1635. X        if ( yy_current_state >= 341 )
  1636. X            yy_c = yy_meta[(unsigned int) yy_c];
  1637. X        }
  1638. X    yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1639. X    yy_is_jam = (yy_current_state == 340);
  1640. X
  1641. X    return yy_is_jam ? 0 : yy_current_state;
  1642. X    }
  1643. X
  1644. X
  1645. X#ifdef YY_USE_PROTOS
  1646. Xstatic void yyunput( int c, register char *yy_bp )
  1647. X#else
  1648. Xstatic void yyunput( c, yy_bp )
  1649. Xint c;
  1650. Xregister char *yy_bp;
  1651. X#endif
  1652. X    {
  1653. X    register char *yy_cp = yy_c_buf_p;
  1654. X
  1655. X    /* undo effects of setting up yytext */
  1656. X    *yy_cp = yy_hold_char;
  1657. X
  1658. X    if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  1659. X        { /* need to shift things up to make room */
  1660. X        /* +2 for EOB chars. */
  1661. X        register int number_to_move = yy_n_chars + 2;
  1662. X        register char *dest = &yy_current_buffer->yy_ch_buf[
  1663. X                    yy_current_buffer->yy_buf_size + 2];
  1664. X        register char *source =
  1665. X                &yy_current_buffer->yy_ch_buf[number_to_move];
  1666. X
  1667. X        while ( source > yy_current_buffer->yy_ch_buf )
  1668. X            *--dest = *--source;
  1669. X
  1670. X        yy_cp += dest - source;
  1671. X        yy_bp += dest - source;
  1672. X        yy_n_chars = yy_current_buffer->yy_buf_size;
  1673. X
  1674. X        if ( yy_cp < yy_current_buffer->yy_ch_buf + 2 )
  1675. X            YY_FATAL_ERROR( "flex scanner push-back overflow" );
  1676. X        }
  1677. X
  1678. X    if ( yy_cp > yy_bp && yy_cp[-1] == '\n' )
  1679. X        yy_cp[-2] = '\n';
  1680. X
  1681. X    *--yy_cp = (char) c;
  1682. X
  1683. X
  1684. X    /* Note: the formal parameter *must* be called "yy_bp" for this
  1685. X     * macro to now work correctly.
  1686. X     */
  1687. X    YY_DO_BEFORE_ACTION; /* set up yytext again */
  1688. X    }
  1689. X
  1690. X
  1691. X#ifdef __cplusplus
  1692. Xstatic int yyinput()
  1693. X#else
  1694. Xstatic int input()
  1695. X#endif
  1696. X    {
  1697. X    int c;
  1698. X
  1699. X    *yy_c_buf_p = yy_hold_char;
  1700. X
  1701. X    if ( *yy_c_buf_p == YY_END_OF_BUFFER_CHAR )
  1702. X        {
  1703. X        /* yy_c_buf_p now points to the character we want to return.
  1704. X         * If this occurs *before* the EOB characters, then it's a
  1705. X         * valid NUL; if not, then we've hit the end of the buffer.
  1706. X         */
  1707. X        if ( yy_c_buf_p < &yy_current_buffer->yy_ch_buf[yy_n_chars] )
  1708. X            /* This was really a NUL. */
  1709. X            *yy_c_buf_p = '\0';
  1710. X
  1711. X        else
  1712. X            { /* need more input */
  1713. X            yytext_ptr = yy_c_buf_p;
  1714. X            ++yy_c_buf_p;
  1715. X
  1716. X            switch ( yy_get_next_buffer() )
  1717. X                {
  1718. X                case EOB_ACT_END_OF_FILE:
  1719. X                    {
  1720. X                    if ( yywrap() )
  1721. X                        {
  1722. X                        yy_c_buf_p =
  1723. X                        yytext_ptr + YY_MORE_ADJ;
  1724. X                        return EOF;
  1725. X                        }
  1726. X
  1727. X                    YY_NEW_FILE;
  1728. X#ifdef __cplusplus
  1729. X                    return yyinput();
  1730. X#else
  1731. X                    return input();
  1732. X#endif
  1733. X                    }
  1734. X
  1735. X                case EOB_ACT_CONTINUE_SCAN:
  1736. X                    yy_c_buf_p = yytext_ptr + YY_MORE_ADJ;
  1737. X                    break;
  1738. X
  1739. X                case EOB_ACT_LAST_MATCH:
  1740. X#ifdef __cplusplus
  1741. X                    YY_FATAL_ERROR(
  1742. X                    "unexpected last match in yyinput()" );
  1743. X#else
  1744. X                    YY_FATAL_ERROR(
  1745. X                    "unexpected last match in input()" );
  1746. X#endif
  1747. X                }
  1748. X            }
  1749. X        }
  1750. X
  1751. X    c = *(unsigned char *) yy_c_buf_p;    /* cast for 8-bit char's */
  1752. X    *yy_c_buf_p = '\0';    /* preserve yytext */
  1753. X    yy_hold_char = *++yy_c_buf_p;
  1754. X
  1755. X    return c;
  1756. X    }
  1757. X
  1758. X
  1759. X#ifdef YY_USE_PROTOS
  1760. Xvoid yyrestart( FILE *input_file )
  1761. X#else
  1762. Xvoid yyrestart( input_file )
  1763. XFILE *input_file;
  1764. X#endif
  1765. X    {
  1766. X    if ( ! yy_current_buffer )
  1767. X        yy_current_buffer = yy_create_buffer( yyin, YY_BUF_SIZE );
  1768. X
  1769. X    yy_init_buffer( yy_current_buffer, input_file );
  1770. X    yy_load_buffer_state();
  1771. X    }
  1772. X
  1773. X
  1774. X#ifdef YY_USE_PROTOS
  1775. Xvoid yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
  1776. X#else
  1777. Xvoid yy_switch_to_buffer( new_buffer )
  1778. XYY_BUFFER_STATE new_buffer;
  1779. X#endif
  1780. X    {
  1781. X    if ( yy_current_buffer == new_buffer )
  1782. X        return;
  1783. X
  1784. X    if ( yy_current_buffer )
  1785. X        {
  1786. X        /* Flush out information for old buffer. */
  1787. X        *yy_c_buf_p = yy_hold_char;
  1788. X        yy_current_buffer->yy_buf_pos = yy_c_buf_p;
  1789. X        yy_current_buffer->yy_n_chars = yy_n_chars;
  1790. X        }
  1791. X
  1792. X    yy_current_buffer = new_buffer;
  1793. X    yy_load_buffer_state();
  1794. X
  1795. X    /* We don't actually know whether we did this switch during
  1796. X     * EOF (yywrap()) processing, but the only time this flag
  1797. X     * is looked at is after yywrap() is called, so it's safe
  1798. X     * to go ahead and always set it.
  1799. X     */
  1800. X    yy_did_buffer_switch_on_eof = 1;
  1801. X    }
  1802. X
  1803. X
  1804. X#ifdef YY_USE_PROTOS
  1805. Xvoid yy_load_buffer_state( void )
  1806. X#else
  1807. Xvoid yy_load_buffer_state()
  1808. X#endif
  1809. X    {
  1810. X    yy_n_chars = yy_current_buffer->yy_n_chars;
  1811. X    yytext_ptr = yy_c_buf_p = yy_current_buffer->yy_buf_pos;
  1812. X    yyin = yy_current_buffer->yy_input_file;
  1813. X    yy_hold_char = *yy_c_buf_p;
  1814. X    }
  1815. X
  1816. X
  1817. X#ifdef YY_USE_PROTOS
  1818. XYY_BUFFER_STATE yy_create_buffer( FILE *file, int size )
  1819. X#else
  1820. XYY_BUFFER_STATE yy_create_buffer( file, size )
  1821. XFILE *file;
  1822. Xint size;
  1823. X#endif
  1824. X    {
  1825. X    YY_BUFFER_STATE b;
  1826. X
  1827. X    b = (YY_BUFFER_STATE) yy_flex_alloc( sizeof( struct yy_buffer_state ) );
  1828. X
  1829. X    if ( ! b )
  1830. X        YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  1831. X
  1832. X    b->yy_buf_size = size;
  1833. X
  1834. X    /* yy_ch_buf has to be 2 characters longer than the size given because
  1835. X     * we need to put in 2 end-of-buffer characters.
  1836. X     */
  1837. X    b->yy_ch_buf = (char *) yy_flex_alloc( b->yy_buf_size + 2 );
  1838. X
  1839. X    if ( ! b->yy_ch_buf )
  1840. X        YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  1841. X
  1842. X    yy_init_buffer( b, file );
  1843. X
  1844. X    return b;
  1845. X    }
  1846. X
  1847. X
  1848. X#ifdef YY_USE_PROTOS
  1849. Xvoid yy_delete_buffer( YY_BUFFER_STATE b )
  1850. X#else
  1851. Xvoid yy_delete_buffer( b )
  1852. XYY_BUFFER_STATE b;
  1853. X#endif
  1854. X    {
  1855. X    if ( b == yy_current_buffer )
  1856. X        yy_current_buffer = (YY_BUFFER_STATE) 0;
  1857. X
  1858. X    yy_flex_free( (void *) b->yy_ch_buf );
  1859. X    yy_flex_free( (void *) b );
  1860. X    }
  1861. X
  1862. X
  1863. X#ifdef YY_USE_PROTOS
  1864. Xvoid yy_init_buffer( YY_BUFFER_STATE b, FILE *file )
  1865. X#else
  1866. Xvoid yy_init_buffer( b, file )
  1867. XYY_BUFFER_STATE b;
  1868. XFILE *file;
  1869. X#endif
  1870. X    {
  1871. X    b->yy_input_file = file;
  1872. X
  1873. X    /* We put in the '\n' and start reading from [1] so that an
  1874. X     * initial match-at-newline will be true.
  1875. X     */
  1876. X
  1877. X    b->yy_ch_buf[0] = '\n';
  1878. X    b->yy_n_chars = 1;
  1879. X
  1880. X    /* We always need two end-of-buffer characters.  The first causes
  1881. X     * a transition to the end-of-buffer state.  The second causes
  1882. X     * a jam in that state.
  1883. X     */
  1884. X    b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  1885. X    b->yy_ch_buf[2] = YY_END_OF_BUFFER_CHAR;
  1886. X
  1887. X    b->yy_buf_pos = &b->yy_ch_buf[1];
  1888. X
  1889. X    b->yy_is_interactive = file ? isatty( fileno(file) ) : 0;
  1890. X
  1891. X    b->yy_fill_buffer = 1;
  1892. X
  1893. X    b->yy_buffer_status = YY_BUFFER_NEW;
  1894. X    }
  1895. X
  1896. X
  1897. X#ifdef YY_USE_PROTOS
  1898. Xstatic void yy_push_state( int new_state )
  1899. X#else
  1900. Xstatic void yy_push_state( new_state )
  1901. Xint new_state;
  1902. X#endif
  1903. X    {
  1904. X    if ( yy_start_stack_ptr >= yy_start_stack_depth )
  1905. X        {
  1906. X        int new_size;
  1907. X
  1908. X        yy_start_stack_depth += YY_START_STACK_INCR;
  1909. X        new_size = yy_start_stack_depth * sizeof( int );
  1910. X
  1911. X        if ( ! yy_start_stack )
  1912. X            yy_start_stack = (int *) yy_flex_alloc( new_size );
  1913. X
  1914. X        else
  1915. X            yy_start_stack = (int *) yy_flex_realloc(
  1916. X                    (void *) yy_start_stack, new_size );
  1917. X
  1918. X        if ( ! yy_start_stack )
  1919. X            YY_FATAL_ERROR(
  1920. X            "out of memory expanding start-condition stack" );
  1921. X        }
  1922. X
  1923. X    yy_start_stack[yy_start_stack_ptr++] = YY_START;
  1924. X
  1925. X    BEGIN(new_state);
  1926. X    }
  1927. X
  1928. X
  1929. Xstatic void yy_pop_state()
  1930. X    {
  1931. X    if ( --yy_start_stack_ptr < 0 )
  1932. X        YY_FATAL_ERROR( "start-condition stack underflow" );
  1933. X
  1934. X    BEGIN(yy_start_stack[yy_start_stack_ptr]);
  1935. X    }
  1936. X
  1937. X
  1938. Xstatic int yy_top_state()
  1939. X    {
  1940. X    return yy_start_stack[yy_start_stack_ptr - 1];
  1941. X    }
  1942. X
  1943. X
  1944. X#ifdef YY_USE_PROTOS
  1945. Xstatic void yy_fatal_error( const char msg[] )
  1946. X#else
  1947. Xstatic void yy_fatal_error( msg )
  1948. Xchar msg[];
  1949. X#endif
  1950. X    {
  1951. X    (void) fprintf( stderr, "%s\n", msg );
  1952. X    exit( 1 );
  1953. X    }
  1954. X
  1955. X
  1956. X
  1957. X/* Redefine yyless() so it works in section 3 code. */
  1958. X
  1959. X#undef yyless
  1960. X#define yyless(n) \
  1961. X    do \
  1962. X        { \
  1963. X        /* Undo effects of setting up yytext. */ \
  1964. X        yytext[yyleng] = yy_hold_char; \
  1965. X        yy_c_buf_p = yytext + n - YY_MORE_ADJ; \
  1966. X        yy_hold_char = *yy_c_buf_p; \
  1967. X        *yy_c_buf_p = '\0'; \
  1968. X        yyleng = n; \
  1969. X        } \
  1970. X    while ( 0 )
  1971. X
  1972. X
  1973. X/* Internal utility routines. */
  1974. X
  1975. X#ifndef yytext_ptr
  1976. X#ifdef YY_USE_PROTOS
  1977. Xstatic void yy_flex_strncpy( char *s1, const char *s2, int n )
  1978. X#else
  1979. Xstatic void yy_flex_strncpy( s1, s2, n )
  1980. Xchar *s1;
  1981. Xconst char *s2;
  1982. Xint n;
  1983. X#endif
  1984. X    {
  1985. X    register int i;
  1986. X    for ( i = 0; i < n; ++i )
  1987. X        s1[i] = s2[i];
  1988. X    }
  1989. X#endif
  1990. X
  1991. X
  1992. X#ifdef YY_USE_PROTOS
  1993. Xstatic void *yy_flex_alloc( unsigned int size )
  1994. X#else
  1995. Xstatic void *yy_flex_alloc( size )
  1996. Xunsigned int size;
  1997. X#endif
  1998. X    {
  1999. X    return (void *) malloc( size );
  2000. X    }
  2001. X
  2002. X#ifdef YY_USE_PROTOS
  2003. Xstatic void *yy_flex_realloc( void *ptr, unsigned int size )
  2004. X#else
  2005. Xstatic void *yy_flex_realloc( ptr, size )
  2006. Xvoid *ptr;
  2007. Xunsigned int size;
  2008. X#endif
  2009. X    {
  2010. X    return (void *) realloc( ptr, size );
  2011. X    }
  2012. X
  2013. X#ifdef YY_USE_PROTOS
  2014. Xstatic void yy_flex_free( void *ptr )
  2015. X#else
  2016. Xstatic void yy_flex_free( ptr )
  2017. Xvoid *ptr;
  2018. X#endif
  2019. X    {
  2020. X    free( ptr );
  2021. X    }
  2022. X# line 186 "src/krc2latex.l"
  2023. X
  2024. X
  2025. X#include "main.c"
  2026. END_OF_FILE
  2027.   if test 53535 -ne `wc -c <'src/krc2latex.c'`; then
  2028.     echo shar: \"'src/krc2latex.c'\" unpacked with wrong size!
  2029.   fi
  2030.   # end of 'src/krc2latex.c'
  2031. fi
  2032. echo shar: End of archive 3 \(of 8\).
  2033. cp /dev/null ark3isdone
  2034. MISSING=""
  2035. for I in 1 2 3 4 5 6 7 8 ; do
  2036.     if test ! -f ark${I}isdone ; then
  2037.     MISSING="${MISSING} ${I}"
  2038.     fi
  2039. done
  2040. if test "${MISSING}" = "" ; then
  2041.     echo You have unpacked all 8 archives.
  2042.     rm -f ark[1-9]isdone
  2043. else
  2044.     echo You still must unpack the following archives:
  2045.     echo "        " ${MISSING}
  2046. fi
  2047. exit 0
  2048. exit 0 # Just in case...
  2049.