Guest User

config

a guest
May 12th, 2018
364
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 222.73 KB | None | 0 0
  1. This file contains any messages produced by compilers while
  2. running configure, to aid debugging if configure makes a mistake.
  3.  
  4. It was created by configure, which was
  5. generated by GNU Autoconf 2.69. Invocation command line was
  6.  
  7. $ ./configure
  8.  
  9. ## --------- ##
  10. ## Platform. ##
  11. ## --------- ##
  12.  
  13. hostname = parths-laptop
  14. uname -m = x86_64
  15. uname -r = 4.13.0-39-generic
  16. uname -s = Linux
  17. uname -v = #44~16.04.1-Ubuntu SMP Thu Apr 5 16:43:10 UTC 2018
  18.  
  19. /usr/bin/uname -p = unknown
  20. /bin/uname -X = unknown
  21.  
  22. /bin/arch = unknown
  23. /usr/bin/arch -k = unknown
  24. /usr/convex/getsysinfo = unknown
  25. /usr/bin/hostinfo = unknown
  26. /bin/machine = unknown
  27. /usr/bin/oslevel = unknown
  28. /bin/universe = unknown
  29.  
  30. PATH: /home/parthsuresh/torch/install/bin
  31. PATH: /home/parthsuresh/torch/install/bin
  32. PATH: /home/parthsuresh/omnetpp-5.3/bin
  33. PATH: /usr/local/MATLAB/R2017a/bin/
  34. PATH: /home/parthsuresh/torch/install/bin
  35. PATH: /home/parthsuresh/torch/install/bin
  36. PATH: /home/parthsuresh/bin
  37. PATH: /home/parthsuresh/.local/bin
  38. PATH: /usr/local/sbin
  39. PATH: /usr/local/bin
  40. PATH: /usr/sbin
  41. PATH: /usr/bin
  42. PATH: /sbin
  43. PATH: /bin
  44. PATH: /usr/games
  45. PATH: /usr/local/games
  46. PATH: /snap/bin
  47.  
  48.  
  49. ## ----------- ##
  50. ## Core tests. ##
  51. ## ----------- ##
  52.  
  53. configure:2106: checking build system type
  54. configure:2120: result: x86_64-unknown-linux-gnu
  55. configure:2140: checking host system type
  56. configure:2153: result: x86_64-unknown-linux-gnu
  57. configure:2202: -----------------------------------------------
  58. configure:2204: reading configure.user for your custom settings
  59. configure:2206: -----------------------------------------------
  60. configure:2345: checking for clang
  61. configure:2375: result: no
  62. configure:2345: checking for icc
  63. configure:2375: result: no
  64. configure:2345: checking for gcc
  65. configure:2361: found /usr/bin/gcc
  66. configure:2372: result: gcc
  67. configure:2403: checking for C compiler version
  68. configure:2412: gcc --version >&5
  69. gcc (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  70. Copyright (C) 2015 Free Software Foundation, Inc.
  71. This is free software; see the source for copying conditions. There is NO
  72. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  73.  
  74. configure:2423: $? = 0
  75. configure:2412: gcc -v >&5
  76. Using built-in specs.
  77. COLLECT_GCC=gcc
  78. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
  79. Target: x86_64-linux-gnu
  80. Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  81. Thread model: posix
  82. gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
  83. configure:2423: $? = 0
  84. configure:2412: gcc -V >&5
  85. gcc: error: unrecognized command line option '-V'
  86. gcc: fatal error: no input files
  87. compilation terminated.
  88. configure:2423: $? = 1
  89. configure:2412: gcc -qversion >&5
  90. gcc: error: unrecognized command line option '-qversion'
  91. gcc: fatal error: no input files
  92. compilation terminated.
  93. configure:2423: $? = 1
  94. configure:2443: checking whether the C compiler works
  95. configure:2465: gcc conftest.c >&5
  96. configure:2469: $? = 0
  97. configure:2517: result: yes
  98. configure:2520: checking for C compiler default output file name
  99. configure:2522: result: a.out
  100. configure:2528: checking for suffix of executables
  101. configure:2535: gcc -o conftest conftest.c >&5
  102. configure:2539: $? = 0
  103. configure:2561: result:
  104. configure:2583: checking whether we are cross compiling
  105. configure:2591: gcc -o conftest conftest.c >&5
  106. configure:2595: $? = 0
  107. configure:2602: ./conftest
  108. configure:2606: $? = 0
  109. configure:2621: result: no
  110. configure:2626: checking for suffix of object files
  111. configure:2648: gcc -c conftest.c >&5
  112. configure:2652: $? = 0
  113. configure:2673: result: o
  114. configure:2677: checking whether we are using the GNU C compiler
  115. configure:2696: gcc -c conftest.c >&5
  116. configure:2696: $? = 0
  117. configure:2705: result: yes
  118. configure:2714: checking whether gcc accepts -g
  119. configure:2734: gcc -c -g conftest.c >&5
  120. configure:2734: $? = 0
  121. configure:2775: result: yes
  122. configure:2792: checking for gcc option to accept ISO C89
  123. configure:2855: gcc -c conftest.c >&5
  124. configure:2855: $? = 0
  125. configure:2868: result: none needed
  126. configure:2946: checking for clang++
  127. configure:2976: result: no
  128. configure:2946: checking for clang
  129. configure:2976: result: no
  130. configure:2946: checking for icpc
  131. configure:2976: result: no
  132. configure:2946: checking for g++
  133. configure:2962: found /usr/bin/g++
  134. configure:2973: result: g++
  135. configure:3000: checking for C++ compiler version
  136. configure:3009: g++ --version >&5
  137. g++ (Ubuntu 5.4.0-6ubuntu1~16.04.9) 5.4.0 20160609
  138. Copyright (C) 2015 Free Software Foundation, Inc.
  139. This is free software; see the source for copying conditions. There is NO
  140. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  141.  
  142. configure:3020: $? = 0
  143. configure:3009: g++ -v >&5
  144. Using built-in specs.
  145. COLLECT_GCC=g++
  146. COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/5/lto-wrapper
  147. Target: x86_64-linux-gnu
  148. Configured with: ../src/configure -v --with-pkgversion='Ubuntu 5.4.0-6ubuntu1~16.04.9' --with-bugurl=file:///usr/share/doc/gcc-5/README.Bugs --enable-languages=c,ada,c++,java,go,d,fortran,objc,obj-c++ --prefix=/usr --program-suffix=-5 --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --with-sysroot=/ --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-java-awt=gtk --enable-gtk-cairo --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-5-amd64/jre --enable-java-home --with-jvm-root-dir=/usr/lib/jvm/java-1.5.0-gcj-5-amd64 --with-jvm-jar-dir=/usr/lib/jvm-exports/java-1.5.0-gcj-5-amd64 --with-arch-directory=amd64 --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --enable-objc-gc --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
  149. Thread model: posix
  150. gcc version 5.4.0 20160609 (Ubuntu 5.4.0-6ubuntu1~16.04.9)
  151. configure:3020: $? = 0
  152. configure:3009: g++ -V >&5
  153. g++: error: unrecognized command line option '-V'
  154. g++: fatal error: no input files
  155. compilation terminated.
  156. configure:3020: $? = 1
  157. configure:3009: g++ -qversion >&5
  158. g++: error: unrecognized command line option '-qversion'
  159. g++: fatal error: no input files
  160. compilation terminated.
  161. configure:3020: $? = 1
  162. configure:3024: checking whether we are using the GNU C++ compiler
  163. configure:3043: g++ -c -std=c++11 conftest.cpp >&5
  164. configure:3043: $? = 0
  165. configure:3052: result: yes
  166. configure:3061: checking whether g++ accepts -g
  167. configure:3081: g++ -c -g conftest.cpp >&5
  168. configure:3081: $? = 0
  169. configure:3122: result: yes
  170. configure:3148: checking for g++
  171. configure:3164: found /usr/bin/g++
  172. configure:3176: result: g++
  173. configure:3272: checking for ranlib
  174. configure:3288: found /usr/bin/ranlib
  175. configure:3299: result: ranlib
  176. configure:3453: checking whether g++ supports -fno-stack-protector
  177. configure:3468: g++ -fno-stack-protector -o conftest -std=c++11 conftest.cpp >&5
  178. configure:3468: $? = 0
  179. configure:3470: result: yes
  180. configure:3495: checking whether g++ supports -Wl,--no-as-needed
  181. configure:3510: g++ -Wl,--no-as-needed -o conftest -std=c++11 conftest.cpp >&5
  182. configure:3510: $? = 0
  183. configure:3512: result: yes
  184. configure:3530: checking whether g++ supports -Wl,--as-needed
  185. configure:3545: g++ -Wl,--as-needed -o conftest -std=c++11 conftest.cpp >&5
  186. configure:3545: $? = 0
  187. configure:3547: result: yes
  188. configure:3574: checking for swapcontext
  189. configure:3574: g++ -o conftest -std=c++11 conftest.cpp >&5
  190. configure:3574: $? = 0
  191. configure:3574: result: yes
  192. configure:3592: checking if shared libs need -fPIC
  193. configure:3615: result: yes
  194. configure:3666: checking for dlopen with CFLAGS="" LIBS=""
  195. configure:3680: g++ -o conftest conftest.cpp >&5
  196. /tmp/cc6ygJB8.o: In function `main':
  197. conftest.cpp:(.text+0xf): undefined reference to `dlopen'
  198. collect2: error: ld returned 1 exit status
  199. configure:3680: $? = 1
  200. configure: failed program was:
  201. | /* confdefs.h */
  202. | #define PACKAGE_NAME ""
  203. | #define PACKAGE_TARNAME ""
  204. | #define PACKAGE_VERSION ""
  205. | #define PACKAGE_STRING ""
  206. | #define PACKAGE_BUGREPORT ""
  207. | #define PACKAGE_URL ""
  208. | #define HAVE_SWAPCONTEXT 1
  209. | /* end confdefs.h. */
  210. | #include <dlfcn.h>
  211. | int
  212. | main ()
  213. | {
  214. | dlopen("",0);
  215. | ;
  216. | return 0;
  217. | }
  218. configure:3684: result: no
  219. configure:3695: checking if --export-dynamic linker option is supported/needed
  220. configure:3743: result: test failed
  221. configure:3761: checking for flags needed to link with static libs containing simple modules
  222. configure:3790: result: --whole-archive
  223. configure:3792: NOTE: Use the following syntax when linking with static libraries
  224. configure:3794: containing simple modules and other dynamically registered components:
  225. configure:3796: g++ ... -Wl,--whole-archive <libs> -Wl,--no-whole-archive ...
  226. configure:3867: checking whether linker supports -rpath
  227. configure:3882: g++ -o conftest -std=c++11 -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp >&5
  228. configure:3882: $? = 0
  229. configure:3883: result: yes
  230. configure:3900: checking for bison
  231. configure:3916: found /usr/bin/bison
  232. configure:3927: result: bison -y
  233. configure:3951: checking for flex
  234. configure:3967: found /usr/bin/flex
  235. configure:3978: result: flex
  236. configure:4016: flex conftest.l
  237. configure:4020: $? = 0
  238. configure:4022: checking lex output file root
  239. configure:4036: result: lex.yy
  240. configure:4041: checking lex library
  241. configure:4055: g++ -o conftest -std=c++11 -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp >&5
  242. conftest.l: In function 'int yylex()':
  243. conftest.l:7:21: error: 'input' was not declared in this scope
  244. yyless ((input () != 0)); }
  245. ^
  246. lex.yy.c:185:33: note: in definition of macro 'yyless'
  247. int yyless_macro_arg = (n); \
  248. ^
  249. configure:4055: $? = 1
  250. configure: failed program was:
  251. | /* confdefs.h */
  252. | #define PACKAGE_NAME ""
  253. | #define PACKAGE_TARNAME ""
  254. | #define PACKAGE_VERSION ""
  255. | #define PACKAGE_STRING ""
  256. | #define PACKAGE_BUGREPORT ""
  257. | #define PACKAGE_URL ""
  258. | #define HAVE_SWAPCONTEXT 1
  259. | /* end confdefs.h. */
  260. |
  261. | #line 3 "lex.yy.c"
  262. |
  263. | #define YY_INT_ALIGNED short int
  264. |
  265. | /* A lexical scanner generated by flex */
  266. |
  267. | #define FLEX_SCANNER
  268. | #define YY_FLEX_MAJOR_VERSION 2
  269. | #define YY_FLEX_MINOR_VERSION 6
  270. | #define YY_FLEX_SUBMINOR_VERSION 0
  271. | #if YY_FLEX_SUBMINOR_VERSION > 0
  272. | #define FLEX_BETA
  273. | #endif
  274. |
  275. | /* First, we deal with platform-specific or compiler-specific issues. */
  276. |
  277. | /* begin standard C headers. */
  278. | #include <stdio.h>
  279. | #include <string.h>
  280. | #include <errno.h>
  281. | #include <stdlib.h>
  282. |
  283. | /* end standard C headers. */
  284. |
  285. | /* flex integer type definitions */
  286. |
  287. | #ifndef FLEXINT_H
  288. | #define FLEXINT_H
  289. |
  290. | /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
  291. |
  292. | #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  293. |
  294. | /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  295. | * if you want the limit (max/min) macros for int types.
  296. | */
  297. | #ifndef __STDC_LIMIT_MACROS
  298. | #define __STDC_LIMIT_MACROS 1
  299. | #endif
  300. |
  301. | #include <inttypes.h>
  302. | typedef int8_t flex_int8_t;
  303. | typedef uint8_t flex_uint8_t;
  304. | typedef int16_t flex_int16_t;
  305. | typedef uint16_t flex_uint16_t;
  306. | typedef int32_t flex_int32_t;
  307. | typedef uint32_t flex_uint32_t;
  308. | #else
  309. | typedef signed char flex_int8_t;
  310. | typedef short int flex_int16_t;
  311. | typedef int flex_int32_t;
  312. | typedef unsigned char flex_uint8_t;
  313. | typedef unsigned short int flex_uint16_t;
  314. | typedef unsigned int flex_uint32_t;
  315. |
  316. | /* Limits of integral types. */
  317. | #ifndef INT8_MIN
  318. | #define INT8_MIN (-128)
  319. | #endif
  320. | #ifndef INT16_MIN
  321. | #define INT16_MIN (-32767-1)
  322. | #endif
  323. | #ifndef INT32_MIN
  324. | #define INT32_MIN (-2147483647-1)
  325. | #endif
  326. | #ifndef INT8_MAX
  327. | #define INT8_MAX (127)
  328. | #endif
  329. | #ifndef INT16_MAX
  330. | #define INT16_MAX (32767)
  331. | #endif
  332. | #ifndef INT32_MAX
  333. | #define INT32_MAX (2147483647)
  334. | #endif
  335. | #ifndef UINT8_MAX
  336. | #define UINT8_MAX (255U)
  337. | #endif
  338. | #ifndef UINT16_MAX
  339. | #define UINT16_MAX (65535U)
  340. | #endif
  341. | #ifndef UINT32_MAX
  342. | #define UINT32_MAX (4294967295U)
  343. | #endif
  344. |
  345. | #endif /* ! C99 */
  346. |
  347. | #endif /* ! FLEXINT_H */
  348. |
  349. | #ifdef __cplusplus
  350. |
  351. | /* The "const" storage-class-modifier is valid. */
  352. | #define YY_USE_CONST
  353. |
  354. | #else /* ! __cplusplus */
  355. |
  356. | /* C99 requires __STDC__ to be defined as 1. */
  357. | #if defined (__STDC__)
  358. |
  359. | #define YY_USE_CONST
  360. |
  361. | #endif /* defined (__STDC__) */
  362. | #endif /* ! __cplusplus */
  363. |
  364. | #ifdef YY_USE_CONST
  365. | #define yyconst const
  366. | #else
  367. | #define yyconst
  368. | #endif
  369. |
  370. | /* Returned upon end-of-file. */
  371. | #define YY_NULL 0
  372. |
  373. | /* Promotes a possibly negative, possibly signed char to an unsigned
  374. | * integer for use as an array index. If the signed char is negative,
  375. | * we want to instead treat it as an 8-bit unsigned char, hence the
  376. | * double cast.
  377. | */
  378. | #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  379. |
  380. | /* Enter a start condition. This macro really ought to take a parameter,
  381. | * but we do it the disgusting crufty way forced on us by the ()-less
  382. | * definition of BEGIN.
  383. | */
  384. | #define BEGIN (yy_start) = 1 + 2 *
  385. |
  386. | /* Translate the current start state into a value that can be later handed
  387. | * to BEGIN to return to the state. The YYSTATE alias is for lex
  388. | * compatibility.
  389. | */
  390. | #define YY_START (((yy_start) - 1) / 2)
  391. | #define YYSTATE YY_START
  392. |
  393. | /* Action number for EOF rule of a given start state. */
  394. | #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  395. |
  396. | /* Special action meaning "start processing a new file". */
  397. | #define YY_NEW_FILE yyrestart(yyin )
  398. |
  399. | #define YY_END_OF_BUFFER_CHAR 0
  400. |
  401. | /* Size of default input buffer. */
  402. | #ifndef YY_BUF_SIZE
  403. | #ifdef __ia64__
  404. | /* On IA-64, the buffer size is 16k, not 8k.
  405. | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
  406. | * Ditto for the __ia64__ case accordingly.
  407. | */
  408. | #define YY_BUF_SIZE 32768
  409. | #else
  410. | #define YY_BUF_SIZE 16384
  411. | #endif /* __ia64__ */
  412. | #endif
  413. |
  414. | /* The state buf must be large enough to hold one state per character in the main buffer.
  415. | */
  416. | #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
  417. |
  418. | #ifndef YY_TYPEDEF_YY_BUFFER_STATE
  419. | #define YY_TYPEDEF_YY_BUFFER_STATE
  420. | typedef struct yy_buffer_state *YY_BUFFER_STATE;
  421. | #endif
  422. |
  423. | #ifndef YY_TYPEDEF_YY_SIZE_T
  424. | #define YY_TYPEDEF_YY_SIZE_T
  425. | typedef size_t yy_size_t;
  426. | #endif
  427. |
  428. | extern yy_size_t yyleng;
  429. |
  430. | extern FILE *yyin, *yyout;
  431. |
  432. | #define EOB_ACT_CONTINUE_SCAN 0
  433. | #define EOB_ACT_END_OF_FILE 1
  434. | #define EOB_ACT_LAST_MATCH 2
  435. |
  436. | #define YY_LESS_LINENO(n)
  437. | #define YY_LINENO_REWIND_TO(ptr)
  438. |
  439. | /* Return all but the first "n" matched characters back to the input stream. */
  440. | #define yyless(n) \
  441. | do \
  442. | { \
  443. | /* Undo effects of setting up yytext. */ \
  444. | int yyless_macro_arg = (n); \
  445. | YY_LESS_LINENO(yyless_macro_arg);\
  446. | *yy_cp = (yy_hold_char); \
  447. | YY_RESTORE_YY_MORE_OFFSET \
  448. | (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
  449. | YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  450. | } \
  451. | while ( 0 )
  452. |
  453. | #define unput(c) yyunput( c, (yytext_ptr) )
  454. |
  455. | #ifndef YY_STRUCT_YY_BUFFER_STATE
  456. | #define YY_STRUCT_YY_BUFFER_STATE
  457. | struct yy_buffer_state
  458. | {
  459. | FILE *yy_input_file;
  460. |
  461. | char *yy_ch_buf; /* input buffer */
  462. | char *yy_buf_pos; /* current position in input buffer */
  463. |
  464. | /* Size of input buffer in bytes, not including room for EOB
  465. | * characters.
  466. | */
  467. | yy_size_t yy_buf_size;
  468. |
  469. | /* Number of characters read into yy_ch_buf, not including EOB
  470. | * characters.
  471. | */
  472. | int yy_n_chars;
  473. |
  474. | /* Whether we "own" the buffer - i.e., we know we created it,
  475. | * and can realloc() it to grow it, and should free() it to
  476. | * delete it.
  477. | */
  478. | int yy_is_our_buffer;
  479. |
  480. | /* Whether this is an "interactive" input source; if so, and
  481. | * if we're using stdio for input, then we want to use getc()
  482. | * instead of fread(), to make sure we stop fetching input after
  483. | * each newline.
  484. | */
  485. | int yy_is_interactive;
  486. |
  487. | /* Whether we're considered to be at the beginning of a line.
  488. | * If so, '^' rules will be active on the next match, otherwise
  489. | * not.
  490. | */
  491. | int yy_at_bol;
  492. |
  493. | int yy_bs_lineno; /**< The line count. */
  494. | int yy_bs_column; /**< The column count. */
  495. |
  496. | /* Whether to try to fill the input buffer when we reach the
  497. | * end of it.
  498. | */
  499. | int yy_fill_buffer;
  500. |
  501. | int yy_buffer_status;
  502. |
  503. | #define YY_BUFFER_NEW 0
  504. | #define YY_BUFFER_NORMAL 1
  505. | /* When an EOF's been seen but there's still some text to process
  506. | * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  507. | * shouldn't try reading from the input source any more. We might
  508. | * still have a bunch of tokens to match, though, because of
  509. | * possible backing-up.
  510. | *
  511. | * When we actually see the EOF, we change the status to "new"
  512. | * (via yyrestart()), so that the user can continue scanning by
  513. | * just pointing yyin at a new input file.
  514. | */
  515. | #define YY_BUFFER_EOF_PENDING 2
  516. |
  517. | };
  518. | #endif /* !YY_STRUCT_YY_BUFFER_STATE */
  519. |
  520. | /* Stack of input buffers. */
  521. | static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
  522. | static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
  523. | static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
  524. |
  525. | /* We provide macros for accessing buffer states in case in the
  526. | * future we want to put the buffer states in a more general
  527. | * "scanner state".
  528. | *
  529. | * Returns the top of the stack, or NULL.
  530. | */
  531. | #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
  532. | ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
  533. | : NULL)
  534. |
  535. | /* Same as previous macro, but useful when we know that the buffer stack is not
  536. | * NULL or when we need an lvalue. For internal use only.
  537. | */
  538. | #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
  539. |
  540. | /* yy_hold_char holds the character lost when yytext is formed. */
  541. | static char yy_hold_char;
  542. | static int yy_n_chars; /* number of characters read into yy_ch_buf */
  543. | yy_size_t yyleng;
  544. |
  545. | /* Points to current character in buffer. */
  546. | static char *yy_c_buf_p = (char *) 0;
  547. | static int yy_init = 0; /* whether we need to initialize */
  548. | static int yy_start = 0; /* start state number */
  549. |
  550. | /* Flag which is used to allow yywrap()'s to do buffer switches
  551. | * instead of setting up a fresh yyin. A bit of a hack ...
  552. | */
  553. | static int yy_did_buffer_switch_on_eof;
  554. |
  555. | void yyrestart (FILE *input_file );
  556. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
  557. | YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
  558. | void yy_delete_buffer (YY_BUFFER_STATE b );
  559. | void yy_flush_buffer (YY_BUFFER_STATE b );
  560. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
  561. | void yypop_buffer_state (void );
  562. |
  563. | static void yyensure_buffer_stack (void );
  564. | static void yy_load_buffer_state (void );
  565. | static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
  566. |
  567. | #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
  568. |
  569. | YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
  570. | YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
  571. | YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
  572. |
  573. | void *yyalloc (yy_size_t );
  574. | void *yyrealloc (void *,yy_size_t );
  575. | void yyfree (void * );
  576. |
  577. | #define yy_new_buffer yy_create_buffer
  578. |
  579. | #define yy_set_interactive(is_interactive) \
  580. | { \
  581. | if ( ! YY_CURRENT_BUFFER ){ \
  582. | yyensure_buffer_stack (); \
  583. | YY_CURRENT_BUFFER_LVALUE = \
  584. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  585. | } \
  586. | YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
  587. | }
  588. |
  589. | #define yy_set_bol(at_bol) \
  590. | { \
  591. | if ( ! YY_CURRENT_BUFFER ){\
  592. | yyensure_buffer_stack (); \
  593. | YY_CURRENT_BUFFER_LVALUE = \
  594. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  595. | } \
  596. | YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
  597. | }
  598. |
  599. | #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
  600. |
  601. | /* Begin user sect3 */
  602. |
  603. | typedef unsigned char YY_CHAR;
  604. |
  605. | FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  606. |
  607. | typedef int yy_state_type;
  608. |
  609. | extern int yylineno;
  610. |
  611. | int yylineno = 1;
  612. |
  613. | extern char *yytext;
  614. | #ifdef yytext_ptr
  615. | #undef yytext_ptr
  616. | #endif
  617. | #define yytext_ptr yytext
  618. |
  619. | static yy_state_type yy_get_previous_state (void );
  620. | static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
  621. | static int yy_get_next_buffer (void );
  622. | #if defined(__GNUC__) && __GNUC__ >= 3
  623. | __attribute__((__noreturn__))
  624. | #endif
  625. | static void yy_fatal_error (yyconst char msg[] );
  626. |
  627. | /* Done after the current pattern has been matched and before the
  628. | * corresponding action - sets up yytext.
  629. | */
  630. | #define YY_DO_BEFORE_ACTION \
  631. | (yytext_ptr) = yy_bp; \
  632. | (yytext_ptr) -= (yy_more_len); \
  633. | yyleng = (size_t) (yy_cp - (yytext_ptr)); \
  634. | (yy_hold_char) = *yy_cp; \
  635. | *yy_cp = '\0'; \
  636. | (yy_c_buf_p) = yy_cp;
  637. |
  638. | #define YY_NUM_RULES 8
  639. | #define YY_END_OF_BUFFER 9
  640. | /* This struct is not used in this scanner,
  641. | but its presence is necessary. */
  642. | struct yy_trans_info
  643. | {
  644. | flex_int32_t yy_verify;
  645. | flex_int32_t yy_nxt;
  646. | };
  647. | static yyconst flex_int16_t yy_acclist[23] =
  648. | { 0,
  649. | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
  650. | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
  651. | 7, 8
  652. | } ;
  653. |
  654. | static yyconst flex_int16_t yy_accept[14] =
  655. | { 0,
  656. | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
  657. | 20, 23, 23
  658. | } ;
  659. |
  660. | static yyconst YY_CHAR yy_ec[256] =
  661. | { 0,
  662. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  663. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  664. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  665. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  666. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  667. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  668. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  669. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  670. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  671. | 1, 1, 1, 1, 1, 1, 3, 4, 5, 6,
  672. |
  673. | 7, 8, 1, 1, 1, 1, 1, 1, 1, 1,
  674. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  675. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  676. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  677. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  678. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  679. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  680. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  681. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  682. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  683. |
  684. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  685. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  686. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  687. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  688. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  689. | 1, 1, 1, 1, 1
  690. | } ;
  691. |
  692. | static yyconst YY_CHAR yy_meta[9] =
  693. | { 0,
  694. | 1, 1, 1, 1, 1, 1, 1, 1
  695. | } ;
  696. |
  697. | static yyconst flex_uint16_t yy_base[13] =
  698. | { 0,
  699. | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
  700. | 10, 10
  701. | } ;
  702. |
  703. | static yyconst flex_int16_t yy_def[13] =
  704. | { 0,
  705. | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
  706. | 12, 0
  707. | } ;
  708. |
  709. | static yyconst flex_uint16_t yy_nxt[19] =
  710. | { 0,
  711. | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
  712. | 12, 12, 12, 12, 12, 12, 12, 12
  713. | } ;
  714. |
  715. | static yyconst flex_int16_t yy_chk[19] =
  716. | { 0,
  717. | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
  718. | 12, 12, 12, 12, 12, 12, 12, 12
  719. | } ;
  720. |
  721. | extern int yy_flex_debug;
  722. | int yy_flex_debug = 0;
  723. |
  724. | static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
  725. | static char *yy_full_match;
  726. | static int yy_lp;
  727. | #define REJECT \
  728. | { \
  729. | *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
  730. | yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
  731. | ++(yy_lp); \
  732. | goto find_rule; \
  733. | }
  734. |
  735. | static int yy_more_flag = 0;
  736. | static int yy_more_len = 0;
  737. | #define yymore() ((yy_more_flag) = 1)
  738. | #define YY_MORE_ADJ (yy_more_len)
  739. | #define YY_RESTORE_YY_MORE_OFFSET
  740. | char *yytext;
  741. | #line 1 "conftest.l"
  742. | #line 484 "lex.yy.c"
  743. |
  744. | #define INITIAL 0
  745. |
  746. | #ifndef YY_NO_UNISTD_H
  747. | /* Special case for "unistd.h", since it is non-ANSI. We include it way
  748. | * down here because we want the user's section 1 to have been scanned first.
  749. | * The user has a chance to override it with an option.
  750. | */
  751. | #include <unistd.h>
  752. | #endif
  753. |
  754. | #ifndef YY_EXTRA_TYPE
  755. | #define YY_EXTRA_TYPE void *
  756. | #endif
  757. |
  758. | static int yy_init_globals (void );
  759. |
  760. | /* Accessor methods to globals.
  761. | These are made visible to non-reentrant scanners for convenience. */
  762. |
  763. | int yylex_destroy (void );
  764. |
  765. | int yyget_debug (void );
  766. |
  767. | void yyset_debug (int debug_flag );
  768. |
  769. | YY_EXTRA_TYPE yyget_extra (void );
  770. |
  771. | void yyset_extra (YY_EXTRA_TYPE user_defined );
  772. |
  773. | FILE *yyget_in (void );
  774. |
  775. | void yyset_in (FILE * _in_str );
  776. |
  777. | FILE *yyget_out (void );
  778. |
  779. | void yyset_out (FILE * _out_str );
  780. |
  781. | yy_size_t yyget_leng (void );
  782. |
  783. | char *yyget_text (void );
  784. |
  785. | int yyget_lineno (void );
  786. |
  787. | void yyset_lineno (int _line_number );
  788. |
  789. | /* Macros after this point can all be overridden by user definitions in
  790. | * section 1.
  791. | */
  792. |
  793. | #ifndef YY_SKIP_YYWRAP
  794. | #ifdef __cplusplus
  795. | extern "C" int yywrap (void );
  796. | #else
  797. | extern int yywrap (void );
  798. | #endif
  799. | #endif
  800. |
  801. | #ifndef YY_NO_UNPUT
  802. |
  803. | static void yyunput (int c,char *buf_ptr );
  804. |
  805. | #endif
  806. |
  807. | #ifndef yytext_ptr
  808. | static void yy_flex_strncpy (char *,yyconst char *,int );
  809. | #endif
  810. |
  811. | #ifdef YY_NEED_STRLEN
  812. | static int yy_flex_strlen (yyconst char * );
  813. | #endif
  814. |
  815. | #ifndef YY_NO_INPUT
  816. |
  817. | #ifdef __cplusplus
  818. | static int yyinput (void );
  819. | #else
  820. | static int input (void );
  821. | #endif
  822. |
  823. | #endif
  824. |
  825. | /* Amount of stuff to slurp up with each read. */
  826. | #ifndef YY_READ_BUF_SIZE
  827. | #ifdef __ia64__
  828. | /* On IA-64, the buffer size is 16k, not 8k */
  829. | #define YY_READ_BUF_SIZE 16384
  830. | #else
  831. | #define YY_READ_BUF_SIZE 8192
  832. | #endif /* __ia64__ */
  833. | #endif
  834. |
  835. | /* Copy whatever the last rule matched to the standard output. */
  836. | #ifndef ECHO
  837. | /* This used to be an fputs(), but since the string might contain NUL's,
  838. | * we now use fwrite().
  839. | */
  840. | #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
  841. | #endif
  842. |
  843. | /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
  844. | * is returned in "result".
  845. | */
  846. | #ifndef YY_INPUT
  847. | #define YY_INPUT(buf,result,max_size) \
  848. | if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
  849. | { \
  850. | int c = '*'; \
  851. | size_t n; \
  852. | for ( n = 0; n < max_size && \
  853. | (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
  854. | buf[n] = (char) c; \
  855. | if ( c == '\n' ) \
  856. | buf[n++] = (char) c; \
  857. | if ( c == EOF && ferror( yyin ) ) \
  858. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  859. | result = n; \
  860. | } \
  861. | else \
  862. | { \
  863. | errno=0; \
  864. | while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
  865. | { \
  866. | if( errno != EINTR) \
  867. | { \
  868. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  869. | break; \
  870. | } \
  871. | errno=0; \
  872. | clearerr(yyin); \
  873. | } \
  874. | }\
  875. | \
  876. |
  877. | #endif
  878. |
  879. | /* No semi-colon after return; correct usage is to write "yyterminate();" -
  880. | * we don't want an extra ';' after the "return" because that will cause
  881. | * some compilers to complain about unreachable statements.
  882. | */
  883. | #ifndef yyterminate
  884. | #define yyterminate() return YY_NULL
  885. | #endif
  886. |
  887. | /* Number of entries by which start-condition stack grows. */
  888. | #ifndef YY_START_STACK_INCR
  889. | #define YY_START_STACK_INCR 25
  890. | #endif
  891. |
  892. | /* Report a fatal error. */
  893. | #ifndef YY_FATAL_ERROR
  894. | #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  895. | #endif
  896. |
  897. | /* end tables serialization structures and prototypes */
  898. |
  899. | /* Default declaration of generated scanner - a define so the user can
  900. | * easily add parameters.
  901. | */
  902. | #ifndef YY_DECL
  903. | #define YY_DECL_IS_OURS 1
  904. |
  905. | extern int yylex (void);
  906. |
  907. | #define YY_DECL int yylex (void)
  908. | #endif /* !YY_DECL */
  909. |
  910. | /* Code executed at the beginning of each rule, after yytext and yyleng
  911. | * have been set up.
  912. | */
  913. | #ifndef YY_USER_ACTION
  914. | #define YY_USER_ACTION
  915. | #endif
  916. |
  917. | /* Code executed at the end of each rule. */
  918. | #ifndef YY_BREAK
  919. | #define YY_BREAK /*LINTED*/break;
  920. | #endif
  921. |
  922. | #define YY_RULE_SETUP \
  923. | YY_USER_ACTION
  924. |
  925. | /** The main scanner function which does all the work.
  926. | */
  927. | YY_DECL
  928. | {
  929. | yy_state_type yy_current_state;
  930. | char *yy_cp, *yy_bp;
  931. | int yy_act;
  932. |
  933. | if ( !(yy_init) )
  934. | {
  935. | (yy_init) = 1;
  936. |
  937. | #ifdef YY_USER_INIT
  938. | YY_USER_INIT;
  939. | #endif
  940. |
  941. | /* Create the reject buffer large enough to save one state per allowed character. */
  942. | if ( ! (yy_state_buf) )
  943. | (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE );
  944. | if ( ! (yy_state_buf) )
  945. | YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
  946. |
  947. | if ( ! (yy_start) )
  948. | (yy_start) = 1; /* first start state */
  949. |
  950. | if ( ! yyin )
  951. | yyin = stdin;
  952. |
  953. | if ( ! yyout )
  954. | yyout = stdout;
  955. |
  956. | if ( ! YY_CURRENT_BUFFER ) {
  957. | yyensure_buffer_stack ();
  958. | YY_CURRENT_BUFFER_LVALUE =
  959. | yy_create_buffer(yyin,YY_BUF_SIZE );
  960. | }
  961. |
  962. | yy_load_buffer_state( );
  963. | }
  964. |
  965. | {
  966. | #line 1 "conftest.l"
  967. |
  968. | #line 710 "lex.yy.c"
  969. |
  970. | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
  971. | {
  972. | (yy_more_len) = 0;
  973. | if ( (yy_more_flag) )
  974. | {
  975. | (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
  976. | (yy_more_flag) = 0;
  977. | }
  978. | yy_cp = (yy_c_buf_p);
  979. |
  980. | /* Support of yytext. */
  981. | *yy_cp = (yy_hold_char);
  982. |
  983. | /* yy_bp points to the position in yy_ch_buf of the start of
  984. | * the current run.
  985. | */
  986. | yy_bp = yy_cp;
  987. |
  988. | yy_current_state = (yy_start);
  989. |
  990. | (yy_state_ptr) = (yy_state_buf);
  991. | *(yy_state_ptr)++ = yy_current_state;
  992. |
  993. | yy_match:
  994. | do
  995. | {
  996. | YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
  997. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  998. | {
  999. | yy_current_state = (int) yy_def[yy_current_state];
  1000. | if ( yy_current_state >= 13 )
  1001. | yy_c = yy_meta[(unsigned int) yy_c];
  1002. | }
  1003. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1004. | *(yy_state_ptr)++ = yy_current_state;
  1005. | ++yy_cp;
  1006. | }
  1007. | while ( yy_base[yy_current_state] != 10 );
  1008. |
  1009. | yy_find_action:
  1010. | yy_current_state = *--(yy_state_ptr);
  1011. | (yy_lp) = yy_accept[yy_current_state];
  1012. | find_rule: /* we branch to this label when backing up */
  1013. | for ( ; ; ) /* until we find what rule we matched */
  1014. | {
  1015. | if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
  1016. | {
  1017. | yy_act = yy_acclist[(yy_lp)];
  1018. | {
  1019. | (yy_full_match) = yy_cp;
  1020. | break;
  1021. | }
  1022. | }
  1023. | --yy_cp;
  1024. | yy_current_state = *--(yy_state_ptr);
  1025. | (yy_lp) = yy_accept[yy_current_state];
  1026. | }
  1027. |
  1028. | YY_DO_BEFORE_ACTION;
  1029. |
  1030. | do_action: /* This label is used only to access EOF actions. */
  1031. |
  1032. | switch ( yy_act )
  1033. | { /* beginning of action switch */
  1034. | case 1:
  1035. | YY_RULE_SETUP
  1036. | #line 2 "conftest.l"
  1037. | { ECHO; }
  1038. | YY_BREAK
  1039. | case 2:
  1040. | YY_RULE_SETUP
  1041. | #line 3 "conftest.l"
  1042. | { REJECT; }
  1043. | YY_BREAK
  1044. | case 3:
  1045. | YY_RULE_SETUP
  1046. | #line 4 "conftest.l"
  1047. | { yymore (); }
  1048. | YY_BREAK
  1049. | case 4:
  1050. | YY_RULE_SETUP
  1051. | #line 5 "conftest.l"
  1052. | { yyless (1); }
  1053. | YY_BREAK
  1054. | case 5:
  1055. | YY_RULE_SETUP
  1056. | #line 6 "conftest.l"
  1057. | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
  1058. | yyless ((input () != 0)); }
  1059. | YY_BREAK
  1060. | case 6:
  1061. | YY_RULE_SETUP
  1062. | #line 8 "conftest.l"
  1063. | { unput (yytext[0]); }
  1064. | YY_BREAK
  1065. | case 7:
  1066. | YY_RULE_SETUP
  1067. | #line 9 "conftest.l"
  1068. | { BEGIN INITIAL; }
  1069. | YY_BREAK
  1070. | case 8:
  1071. | YY_RULE_SETUP
  1072. | #line 10 "conftest.l"
  1073. | ECHO;
  1074. | YY_BREAK
  1075. | #line 817 "lex.yy.c"
  1076. | case YY_STATE_EOF(INITIAL):
  1077. | yyterminate();
  1078. |
  1079. | case YY_END_OF_BUFFER:
  1080. | {
  1081. | /* Amount of text matched not including the EOB char. */
  1082. | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
  1083. |
  1084. | /* Undo the effects of YY_DO_BEFORE_ACTION. */
  1085. | *yy_cp = (yy_hold_char);
  1086. | YY_RESTORE_YY_MORE_OFFSET
  1087. |
  1088. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
  1089. | {
  1090. | /* We're scanning a new file or input source. It's
  1091. | * possible that this happened because the user
  1092. | * just pointed yyin at a new source and called
  1093. | * yylex(). If so, then we have to assure
  1094. | * consistency between YY_CURRENT_BUFFER and our
  1095. | * globals. Here is the right place to do so, because
  1096. | * this is the first action (other than possibly a
  1097. | * back-up) that will match for the new input source.
  1098. | */
  1099. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  1100. | YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
  1101. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
  1102. | }
  1103. |
  1104. | /* Note that here we test for yy_c_buf_p "<=" to the position
  1105. | * of the first EOB in the buffer, since yy_c_buf_p will
  1106. | * already have been incremented past the NUL character
  1107. | * (since all states make transitions on EOB to the
  1108. | * end-of-buffer state). Contrast this with the test
  1109. | * in input().
  1110. | */
  1111. | if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  1112. | { /* This was really a NUL. */
  1113. | yy_state_type yy_next_state;
  1114. |
  1115. | (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
  1116. |
  1117. | yy_current_state = yy_get_previous_state( );
  1118. |
  1119. | /* Okay, we're now positioned to make the NUL
  1120. | * transition. We couldn't have
  1121. | * yy_get_previous_state() go ahead and do it
  1122. | * for us because it doesn't know how to deal
  1123. | * with the possibility of jamming (and we don't
  1124. | * want to build jamming into it because then it
  1125. | * will run more slowly).
  1126. | */
  1127. |
  1128. | yy_next_state = yy_try_NUL_trans( yy_current_state );
  1129. |
  1130. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  1131. |
  1132. | if ( yy_next_state )
  1133. | {
  1134. | /* Consume the NUL. */
  1135. | yy_cp = ++(yy_c_buf_p);
  1136. | yy_current_state = yy_next_state;
  1137. | goto yy_match;
  1138. | }
  1139. |
  1140. | else
  1141. | {
  1142. | yy_cp = (yy_c_buf_p);
  1143. | goto yy_find_action;
  1144. | }
  1145. | }
  1146. |
  1147. | else switch ( yy_get_next_buffer( ) )
  1148. | {
  1149. | case EOB_ACT_END_OF_FILE:
  1150. | {
  1151. | (yy_did_buffer_switch_on_eof) = 0;
  1152. |
  1153. | if ( yywrap( ) )
  1154. | {
  1155. | /* Note: because we've taken care in
  1156. | * yy_get_next_buffer() to have set up
  1157. | * yytext, we can now set up
  1158. | * yy_c_buf_p so that if some total
  1159. | * hoser (like flex itself) wants to
  1160. | * call the scanner after we return the
  1161. | * YY_NULL, it'll still work - another
  1162. | * YY_NULL will get returned.
  1163. | */
  1164. | (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
  1165. |
  1166. | yy_act = YY_STATE_EOF(YY_START);
  1167. | goto do_action;
  1168. | }
  1169. |
  1170. | else
  1171. | {
  1172. | if ( ! (yy_did_buffer_switch_on_eof) )
  1173. | YY_NEW_FILE;
  1174. | }
  1175. | break;
  1176. | }
  1177. |
  1178. | case EOB_ACT_CONTINUE_SCAN:
  1179. | (yy_c_buf_p) =
  1180. | (yytext_ptr) + yy_amount_of_matched_text;
  1181. |
  1182. | yy_current_state = yy_get_previous_state( );
  1183. |
  1184. | yy_cp = (yy_c_buf_p);
  1185. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  1186. | goto yy_match;
  1187. |
  1188. | case EOB_ACT_LAST_MATCH:
  1189. | (yy_c_buf_p) =
  1190. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
  1191. |
  1192. | yy_current_state = yy_get_previous_state( );
  1193. |
  1194. | yy_cp = (yy_c_buf_p);
  1195. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  1196. | goto yy_find_action;
  1197. | }
  1198. | break;
  1199. | }
  1200. |
  1201. | default:
  1202. | YY_FATAL_ERROR(
  1203. | "fatal flex scanner internal error--no action found" );
  1204. | } /* end of action switch */
  1205. | } /* end of scanning one token */
  1206. | } /* end of user's declarations */
  1207. | } /* end of yylex */
  1208. |
  1209. | /* yy_get_next_buffer - try to read in a new buffer
  1210. | *
  1211. | * Returns a code representing an action:
  1212. | * EOB_ACT_LAST_MATCH -
  1213. | * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  1214. | * EOB_ACT_END_OF_FILE - end of file
  1215. | */
  1216. | static int yy_get_next_buffer (void)
  1217. | {
  1218. | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
  1219. | char *source = (yytext_ptr);
  1220. | yy_size_t number_to_move, i;
  1221. | int ret_val;
  1222. |
  1223. | if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
  1224. | YY_FATAL_ERROR(
  1225. | "fatal flex scanner internal error--end of buffer missed" );
  1226. |
  1227. | if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
  1228. | { /* Don't try to fill the buffer, so this is an EOF. */
  1229. | if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
  1230. | {
  1231. | /* We matched a single character, the EOB, so
  1232. | * treat this as a final EOF.
  1233. | */
  1234. | return EOB_ACT_END_OF_FILE;
  1235. | }
  1236. |
  1237. | else
  1238. | {
  1239. | /* We matched some text prior to the EOB, first
  1240. | * process it.
  1241. | */
  1242. | return EOB_ACT_LAST_MATCH;
  1243. | }
  1244. | }
  1245. |
  1246. | /* Try to read more data. */
  1247. |
  1248. | /* First move last chars to start of buffer. */
  1249. | number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
  1250. |
  1251. | for ( i = 0; i < number_to_move; ++i )
  1252. | *(dest++) = *(source++);
  1253. |
  1254. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  1255. | /* don't do the read, it's not guaranteed to return an EOF,
  1256. | * just force an EOF
  1257. | */
  1258. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
  1259. |
  1260. | else
  1261. | {
  1262. | yy_size_t num_to_read =
  1263. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
  1264. |
  1265. | while ( num_to_read <= 0 )
  1266. | { /* Not enough room in the buffer - grow it. */
  1267. |
  1268. | YY_FATAL_ERROR(
  1269. | "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  1270. |
  1271. | }
  1272. |
  1273. | if ( num_to_read > YY_READ_BUF_SIZE )
  1274. | num_to_read = YY_READ_BUF_SIZE;
  1275. |
  1276. | /* Read in more data. */
  1277. | YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
  1278. | (yy_n_chars), num_to_read );
  1279. |
  1280. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  1281. | }
  1282. |
  1283. | if ( (yy_n_chars) == 0 )
  1284. | {
  1285. | if ( number_to_move == YY_MORE_ADJ )
  1286. | {
  1287. | ret_val = EOB_ACT_END_OF_FILE;
  1288. | yyrestart(yyin );
  1289. | }
  1290. |
  1291. | else
  1292. | {
  1293. | ret_val = EOB_ACT_LAST_MATCH;
  1294. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
  1295. | YY_BUFFER_EOF_PENDING;
  1296. | }
  1297. | }
  1298. |
  1299. | else
  1300. | ret_val = EOB_ACT_CONTINUE_SCAN;
  1301. |
  1302. | if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
  1303. | /* Extend the array by 50%, plus the number we really need. */
  1304. | int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
  1305. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
  1306. | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  1307. | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
  1308. | }
  1309. |
  1310. | (yy_n_chars) += number_to_move;
  1311. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
  1312. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
  1313. |
  1314. | (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
  1315. |
  1316. | return ret_val;
  1317. | }
  1318. |
  1319. | /* yy_get_previous_state - get the state just before the EOB char was reached */
  1320. |
  1321. | static yy_state_type yy_get_previous_state (void)
  1322. | {
  1323. | yy_state_type yy_current_state;
  1324. | char *yy_cp;
  1325. |
  1326. | yy_current_state = (yy_start);
  1327. |
  1328. | (yy_state_ptr) = (yy_state_buf);
  1329. | *(yy_state_ptr)++ = yy_current_state;
  1330. |
  1331. | for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
  1332. | {
  1333. | YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  1334. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1335. | {
  1336. | yy_current_state = (int) yy_def[yy_current_state];
  1337. | if ( yy_current_state >= 13 )
  1338. | yy_c = yy_meta[(unsigned int) yy_c];
  1339. | }
  1340. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1341. | *(yy_state_ptr)++ = yy_current_state;
  1342. | }
  1343. |
  1344. | return yy_current_state;
  1345. | }
  1346. |
  1347. | /* yy_try_NUL_trans - try to make a transition on the NUL character
  1348. | *
  1349. | * synopsis
  1350. | * next_state = yy_try_NUL_trans( current_state );
  1351. | */
  1352. | static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
  1353. | {
  1354. | int yy_is_jam;
  1355. |
  1356. | YY_CHAR yy_c = 1;
  1357. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  1358. | {
  1359. | yy_current_state = (int) yy_def[yy_current_state];
  1360. | if ( yy_current_state >= 13 )
  1361. | yy_c = yy_meta[(unsigned int) yy_c];
  1362. | }
  1363. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  1364. | yy_is_jam = (yy_current_state == 12);
  1365. | if ( ! yy_is_jam )
  1366. | *(yy_state_ptr)++ = yy_current_state;
  1367. |
  1368. | return yy_is_jam ? 0 : yy_current_state;
  1369. | }
  1370. |
  1371. | #ifndef YY_NO_UNPUT
  1372. |
  1373. | static void yyunput (int c, char * yy_bp )
  1374. | {
  1375. | char *yy_cp;
  1376. |
  1377. | yy_cp = (yy_c_buf_p);
  1378. |
  1379. | /* undo effects of setting up yytext */
  1380. | *yy_cp = (yy_hold_char);
  1381. |
  1382. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  1383. | { /* need to shift things up to make room */
  1384. | /* +2 for EOB chars. */
  1385. | yy_size_t number_to_move = (yy_n_chars) + 2;
  1386. | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
  1387. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
  1388. | char *source =
  1389. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
  1390. |
  1391. | while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  1392. | *--dest = *--source;
  1393. |
  1394. | yy_cp += (int) (dest - source);
  1395. | yy_bp += (int) (dest - source);
  1396. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
  1397. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
  1398. |
  1399. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  1400. | YY_FATAL_ERROR( "flex scanner push-back overflow" );
  1401. | }
  1402. |
  1403. | *--yy_cp = (char) c;
  1404. |
  1405. | (yytext_ptr) = yy_bp;
  1406. | (yy_hold_char) = *yy_cp;
  1407. | (yy_c_buf_p) = yy_cp;
  1408. | }
  1409. |
  1410. | #endif
  1411. |
  1412. | #ifndef YY_NO_INPUT
  1413. | #ifdef __cplusplus
  1414. | static int yyinput (void)
  1415. | #else
  1416. | static int input (void)
  1417. | #endif
  1418. |
  1419. | {
  1420. | int c;
  1421. |
  1422. | *(yy_c_buf_p) = (yy_hold_char);
  1423. |
  1424. | if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
  1425. | {
  1426. | /* yy_c_buf_p now points to the character we want to return.
  1427. | * If this occurs *before* the EOB characters, then it's a
  1428. | * valid NUL; if not, then we've hit the end of the buffer.
  1429. | */
  1430. | if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  1431. | /* This was really a NUL. */
  1432. | *(yy_c_buf_p) = '\0';
  1433. |
  1434. | else
  1435. | { /* need more input */
  1436. | yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
  1437. | ++(yy_c_buf_p);
  1438. |
  1439. | switch ( yy_get_next_buffer( ) )
  1440. | {
  1441. | case EOB_ACT_LAST_MATCH:
  1442. | /* This happens because yy_g_n_b()
  1443. | * sees that we've accumulated a
  1444. | * token and flags that we need to
  1445. | * try matching the token before
  1446. | * proceeding. But for input(),
  1447. | * there's no matching to consider.
  1448. | * So convert the EOB_ACT_LAST_MATCH
  1449. | * to EOB_ACT_END_OF_FILE.
  1450. | */
  1451. |
  1452. | /* Reset buffer status. */
  1453. | yyrestart(yyin );
  1454. |
  1455. | /*FALLTHROUGH*/
  1456. |
  1457. | case EOB_ACT_END_OF_FILE:
  1458. | {
  1459. | if ( yywrap( ) )
  1460. | return EOF;
  1461. |
  1462. | if ( ! (yy_did_buffer_switch_on_eof) )
  1463. | YY_NEW_FILE;
  1464. | #ifdef __cplusplus
  1465. | return yyinput();
  1466. | #else
  1467. | return input();
  1468. | #endif
  1469. | }
  1470. |
  1471. | case EOB_ACT_CONTINUE_SCAN:
  1472. | (yy_c_buf_p) = (yytext_ptr) + offset;
  1473. | break;
  1474. | }
  1475. | }
  1476. | }
  1477. |
  1478. | c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
  1479. | *(yy_c_buf_p) = '\0'; /* preserve yytext */
  1480. | (yy_hold_char) = *++(yy_c_buf_p);
  1481. |
  1482. | return c;
  1483. | }
  1484. | #endif /* ifndef YY_NO_INPUT */
  1485. |
  1486. | /** Immediately switch to a different input stream.
  1487. | * @param input_file A readable stream.
  1488. | *
  1489. | * @note This function does not reset the start condition to @c INITIAL .
  1490. | */
  1491. | void yyrestart (FILE * input_file )
  1492. | {
  1493. |
  1494. | if ( ! YY_CURRENT_BUFFER ){
  1495. | yyensure_buffer_stack ();
  1496. | YY_CURRENT_BUFFER_LVALUE =
  1497. | yy_create_buffer(yyin,YY_BUF_SIZE );
  1498. | }
  1499. |
  1500. | yy_init_buffer(YY_CURRENT_BUFFER,input_file );
  1501. | yy_load_buffer_state( );
  1502. | }
  1503. |
  1504. | /** Switch to a different input buffer.
  1505. | * @param new_buffer The new input buffer.
  1506. | *
  1507. | */
  1508. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
  1509. | {
  1510. |
  1511. | /* TODO. We should be able to replace this entire function body
  1512. | * with
  1513. | * yypop_buffer_state();
  1514. | * yypush_buffer_state(new_buffer);
  1515. | */
  1516. | yyensure_buffer_stack ();
  1517. | if ( YY_CURRENT_BUFFER == new_buffer )
  1518. | return;
  1519. |
  1520. | if ( YY_CURRENT_BUFFER )
  1521. | {
  1522. | /* Flush out information for old buffer. */
  1523. | *(yy_c_buf_p) = (yy_hold_char);
  1524. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  1525. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  1526. | }
  1527. |
  1528. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  1529. | yy_load_buffer_state( );
  1530. |
  1531. | /* We don't actually know whether we did this switch during
  1532. | * EOF (yywrap()) processing, but the only time this flag
  1533. | * is looked at is after yywrap() is called, so it's safe
  1534. | * to go ahead and always set it.
  1535. | */
  1536. | (yy_did_buffer_switch_on_eof) = 1;
  1537. | }
  1538. |
  1539. | static void yy_load_buffer_state (void)
  1540. | {
  1541. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  1542. | (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
  1543. | yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
  1544. | (yy_hold_char) = *(yy_c_buf_p);
  1545. | }
  1546. |
  1547. | /** Allocate and initialize an input buffer state.
  1548. | * @param file A readable stream.
  1549. | * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
  1550. | *
  1551. | * @return the allocated buffer state.
  1552. | */
  1553. | YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
  1554. | {
  1555. | YY_BUFFER_STATE b;
  1556. |
  1557. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  1558. | if ( ! b )
  1559. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  1560. |
  1561. | b->yy_buf_size = (yy_size_t)size;
  1562. |
  1563. | /* yy_ch_buf has to be 2 characters longer than the size given because
  1564. | * we need to put in 2 end-of-buffer characters.
  1565. | */
  1566. | b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
  1567. | if ( ! b->yy_ch_buf )
  1568. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  1569. |
  1570. | b->yy_is_our_buffer = 1;
  1571. |
  1572. | yy_init_buffer(b,file );
  1573. |
  1574. | return b;
  1575. | }
  1576. |
  1577. | /** Destroy the buffer.
  1578. | * @param b a buffer created with yy_create_buffer()
  1579. | *
  1580. | */
  1581. | void yy_delete_buffer (YY_BUFFER_STATE b )
  1582. | {
  1583. |
  1584. | if ( ! b )
  1585. | return;
  1586. |
  1587. | if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
  1588. | YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
  1589. |
  1590. | if ( b->yy_is_our_buffer )
  1591. | yyfree((void *) b->yy_ch_buf );
  1592. |
  1593. | yyfree((void *) b );
  1594. | }
  1595. |
  1596. | /* Initializes or reinitializes a buffer.
  1597. | * This function is sometimes called more than once on the same buffer,
  1598. | * such as during a yyrestart() or at EOF.
  1599. | */
  1600. | static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
  1601. |
  1602. | {
  1603. | int oerrno = errno;
  1604. |
  1605. | yy_flush_buffer(b );
  1606. |
  1607. | b->yy_input_file = file;
  1608. | b->yy_fill_buffer = 1;
  1609. |
  1610. | /* If b is the current buffer, then yy_init_buffer was _probably_
  1611. | * called from yyrestart() or through yy_get_next_buffer.
  1612. | * In that case, we don't want to reset the lineno or column.
  1613. | */
  1614. | if (b != YY_CURRENT_BUFFER){
  1615. | b->yy_bs_lineno = 1;
  1616. | b->yy_bs_column = 0;
  1617. | }
  1618. |
  1619. | b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
  1620. |
  1621. | errno = oerrno;
  1622. | }
  1623. |
  1624. | /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  1625. | * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  1626. | *
  1627. | */
  1628. | void yy_flush_buffer (YY_BUFFER_STATE b )
  1629. | {
  1630. | if ( ! b )
  1631. | return;
  1632. |
  1633. | b->yy_n_chars = 0;
  1634. |
  1635. | /* We always need two end-of-buffer characters. The first causes
  1636. | * a transition to the end-of-buffer state. The second causes
  1637. | * a jam in that state.
  1638. | */
  1639. | b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  1640. | b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  1641. |
  1642. | b->yy_buf_pos = &b->yy_ch_buf[0];
  1643. |
  1644. | b->yy_at_bol = 1;
  1645. | b->yy_buffer_status = YY_BUFFER_NEW;
  1646. |
  1647. | if ( b == YY_CURRENT_BUFFER )
  1648. | yy_load_buffer_state( );
  1649. | }
  1650. |
  1651. | /** Pushes the new state onto the stack. The new state becomes
  1652. | * the current state. This function will allocate the stack
  1653. | * if necessary.
  1654. | * @param new_buffer The new state.
  1655. | *
  1656. | */
  1657. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  1658. | {
  1659. | if (new_buffer == NULL)
  1660. | return;
  1661. |
  1662. | yyensure_buffer_stack();
  1663. |
  1664. | /* This block is copied from yy_switch_to_buffer. */
  1665. | if ( YY_CURRENT_BUFFER )
  1666. | {
  1667. | /* Flush out information for old buffer. */
  1668. | *(yy_c_buf_p) = (yy_hold_char);
  1669. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  1670. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  1671. | }
  1672. |
  1673. | /* Only push if top exists. Otherwise, replace top. */
  1674. | if (YY_CURRENT_BUFFER)
  1675. | (yy_buffer_stack_top)++;
  1676. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  1677. |
  1678. | /* copied from yy_switch_to_buffer. */
  1679. | yy_load_buffer_state( );
  1680. | (yy_did_buffer_switch_on_eof) = 1;
  1681. | }
  1682. |
  1683. | /** Removes and deletes the top of the stack, if present.
  1684. | * The next element becomes the new top.
  1685. | *
  1686. | */
  1687. | void yypop_buffer_state (void)
  1688. | {
  1689. | if (!YY_CURRENT_BUFFER)
  1690. | return;
  1691. |
  1692. | yy_delete_buffer(YY_CURRENT_BUFFER );
  1693. | YY_CURRENT_BUFFER_LVALUE = NULL;
  1694. | if ((yy_buffer_stack_top) > 0)
  1695. | --(yy_buffer_stack_top);
  1696. |
  1697. | if (YY_CURRENT_BUFFER) {
  1698. | yy_load_buffer_state( );
  1699. | (yy_did_buffer_switch_on_eof) = 1;
  1700. | }
  1701. | }
  1702. |
  1703. | /* Allocates the stack if it does not exist.
  1704. | * Guarantees space for at least one push.
  1705. | */
  1706. | static void yyensure_buffer_stack (void)
  1707. | {
  1708. | yy_size_t num_to_alloc;
  1709. |
  1710. | if (!(yy_buffer_stack)) {
  1711. |
  1712. | /* First allocation is just for 2 elements, since we don't know if this
  1713. | * scanner will even need a stack. We use 2 instead of 1 to avoid an
  1714. | * immediate realloc on the next call.
  1715. | */
  1716. | num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
  1717. | (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
  1718. | (num_to_alloc * sizeof(struct yy_buffer_state*)
  1719. | );
  1720. | if ( ! (yy_buffer_stack) )
  1721. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  1722. |
  1723. | memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
  1724. |
  1725. | (yy_buffer_stack_max) = num_to_alloc;
  1726. | (yy_buffer_stack_top) = 0;
  1727. | return;
  1728. | }
  1729. |
  1730. | if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
  1731. |
  1732. | /* Increase the buffer to prepare for a possible push. */
  1733. | yy_size_t grow_size = 8 /* arbitrary grow size */;
  1734. |
  1735. | num_to_alloc = (yy_buffer_stack_max) + grow_size;
  1736. | (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
  1737. | ((yy_buffer_stack),
  1738. | num_to_alloc * sizeof(struct yy_buffer_state*)
  1739. | );
  1740. | if ( ! (yy_buffer_stack) )
  1741. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  1742. |
  1743. | /* zero only the new slots.*/
  1744. | memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
  1745. | (yy_buffer_stack_max) = num_to_alloc;
  1746. | }
  1747. | }
  1748. |
  1749. | /** Setup the input buffer state to scan directly from a user-specified character buffer.
  1750. | * @param base the character buffer
  1751. | * @param size the size in bytes of the character buffer
  1752. | *
  1753. | * @return the newly allocated buffer state object.
  1754. | */
  1755. | YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
  1756. | {
  1757. | YY_BUFFER_STATE b;
  1758. |
  1759. | if ( size < 2 ||
  1760. | base[size-2] != YY_END_OF_BUFFER_CHAR ||
  1761. | base[size-1] != YY_END_OF_BUFFER_CHAR )
  1762. | /* They forgot to leave room for the EOB's. */
  1763. | return 0;
  1764. |
  1765. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  1766. | if ( ! b )
  1767. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
  1768. |
  1769. | b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
  1770. | b->yy_buf_pos = b->yy_ch_buf = base;
  1771. | b->yy_is_our_buffer = 0;
  1772. | b->yy_input_file = 0;
  1773. | b->yy_n_chars = b->yy_buf_size;
  1774. | b->yy_is_interactive = 0;
  1775. | b->yy_at_bol = 1;
  1776. | b->yy_fill_buffer = 0;
  1777. | b->yy_buffer_status = YY_BUFFER_NEW;
  1778. |
  1779. | yy_switch_to_buffer(b );
  1780. |
  1781. | return b;
  1782. | }
  1783. |
  1784. | /** Setup the input buffer state to scan a string. The next call to yylex() will
  1785. | * scan from a @e copy of @a str.
  1786. | * @param yystr a NUL-terminated string to scan
  1787. | *
  1788. | * @return the newly allocated buffer state object.
  1789. | * @note If you want to scan bytes that may contain NUL values, then use
  1790. | * yy_scan_bytes() instead.
  1791. | */
  1792. | YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  1793. | {
  1794. |
  1795. | return yy_scan_bytes(yystr,strlen(yystr) );
  1796. | }
  1797. |
  1798. | /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  1799. | * scan from a @e copy of @a bytes.
  1800. | * @param yybytes the byte buffer to scan
  1801. | * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
  1802. | *
  1803. | * @return the newly allocated buffer state object.
  1804. | */
  1805. | YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
  1806. | {
  1807. | YY_BUFFER_STATE b;
  1808. | char *buf;
  1809. | yy_size_t n;
  1810. | yy_size_t i;
  1811. |
  1812. | /* Get memory for full buffer, including space for trailing EOB's. */
  1813. | n = _yybytes_len + 2;
  1814. | buf = (char *) yyalloc(n );
  1815. | if ( ! buf )
  1816. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
  1817. |
  1818. | for ( i = 0; i < _yybytes_len; ++i )
  1819. | buf[i] = yybytes[i];
  1820. |
  1821. | buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
  1822. |
  1823. | b = yy_scan_buffer(buf,n );
  1824. | if ( ! b )
  1825. | YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
  1826. |
  1827. | /* It's okay to grow etc. this buffer, and we should throw it
  1828. | * away when we're done.
  1829. | */
  1830. | b->yy_is_our_buffer = 1;
  1831. |
  1832. | return b;
  1833. | }
  1834. |
  1835. | #ifndef YY_EXIT_FAILURE
  1836. | #define YY_EXIT_FAILURE 2
  1837. | #endif
  1838. |
  1839. | static void yy_fatal_error (yyconst char* msg )
  1840. | {
  1841. | (void) fprintf( stderr, "%s\n", msg );
  1842. | exit( YY_EXIT_FAILURE );
  1843. | }
  1844. |
  1845. | /* Redefine yyless() so it works in section 3 code. */
  1846. |
  1847. | #undef yyless
  1848. | #define yyless(n) \
  1849. | do \
  1850. | { \
  1851. | /* Undo effects of setting up yytext. */ \
  1852. | int yyless_macro_arg = (n); \
  1853. | YY_LESS_LINENO(yyless_macro_arg);\
  1854. | yytext[yyleng] = (yy_hold_char); \
  1855. | (yy_c_buf_p) = yytext + yyless_macro_arg; \
  1856. | (yy_hold_char) = *(yy_c_buf_p); \
  1857. | *(yy_c_buf_p) = '\0'; \
  1858. | yyleng = yyless_macro_arg; \
  1859. | } \
  1860. | while ( 0 )
  1861. |
  1862. | /* Accessor methods (get/set functions) to struct members. */
  1863. |
  1864. | /** Get the current line number.
  1865. | *
  1866. | */
  1867. | int yyget_lineno (void)
  1868. | {
  1869. |
  1870. | return yylineno;
  1871. | }
  1872. |
  1873. | /** Get the input stream.
  1874. | *
  1875. | */
  1876. | FILE *yyget_in (void)
  1877. | {
  1878. | return yyin;
  1879. | }
  1880. |
  1881. | /** Get the output stream.
  1882. | *
  1883. | */
  1884. | FILE *yyget_out (void)
  1885. | {
  1886. | return yyout;
  1887. | }
  1888. |
  1889. | /** Get the length of the current token.
  1890. | *
  1891. | */
  1892. | yy_size_t yyget_leng (void)
  1893. | {
  1894. | return yyleng;
  1895. | }
  1896. |
  1897. | /** Get the current token.
  1898. | *
  1899. | */
  1900. |
  1901. | char *yyget_text (void)
  1902. | {
  1903. | return yytext;
  1904. | }
  1905. |
  1906. | /** Set the current line number.
  1907. | * @param _line_number line number
  1908. | *
  1909. | */
  1910. | void yyset_lineno (int _line_number )
  1911. | {
  1912. |
  1913. | yylineno = _line_number;
  1914. | }
  1915. |
  1916. | /** Set the input stream. This does not discard the current
  1917. | * input buffer.
  1918. | * @param _in_str A readable stream.
  1919. | *
  1920. | * @see yy_switch_to_buffer
  1921. | */
  1922. | void yyset_in (FILE * _in_str )
  1923. | {
  1924. | yyin = _in_str ;
  1925. | }
  1926. |
  1927. | void yyset_out (FILE * _out_str )
  1928. | {
  1929. | yyout = _out_str ;
  1930. | }
  1931. |
  1932. | int yyget_debug (void)
  1933. | {
  1934. | return yy_flex_debug;
  1935. | }
  1936. |
  1937. | void yyset_debug (int _bdebug )
  1938. | {
  1939. | yy_flex_debug = _bdebug ;
  1940. | }
  1941. |
  1942. | static int yy_init_globals (void)
  1943. | {
  1944. | /* Initialization is the same as for the non-reentrant scanner.
  1945. | * This function is called from yylex_destroy(), so don't allocate here.
  1946. | */
  1947. |
  1948. | (yy_buffer_stack) = 0;
  1949. | (yy_buffer_stack_top) = 0;
  1950. | (yy_buffer_stack_max) = 0;
  1951. | (yy_c_buf_p) = (char *) 0;
  1952. | (yy_init) = 0;
  1953. | (yy_start) = 0;
  1954. |
  1955. | (yy_state_buf) = 0;
  1956. | (yy_state_ptr) = 0;
  1957. | (yy_full_match) = 0;
  1958. | (yy_lp) = 0;
  1959. |
  1960. | /* Defined in main.c */
  1961. | #ifdef YY_STDINIT
  1962. | yyin = stdin;
  1963. | yyout = stdout;
  1964. | #else
  1965. | yyin = (FILE *) 0;
  1966. | yyout = (FILE *) 0;
  1967. | #endif
  1968. |
  1969. | /* For future reference: Set errno on error, since we are called by
  1970. | * yylex_init()
  1971. | */
  1972. | return 0;
  1973. | }
  1974. |
  1975. | /* yylex_destroy is for both reentrant and non-reentrant scanners. */
  1976. | int yylex_destroy (void)
  1977. | {
  1978. |
  1979. | /* Pop the buffer stack, destroying each element. */
  1980. | while(YY_CURRENT_BUFFER){
  1981. | yy_delete_buffer(YY_CURRENT_BUFFER );
  1982. | YY_CURRENT_BUFFER_LVALUE = NULL;
  1983. | yypop_buffer_state();
  1984. | }
  1985. |
  1986. | /* Destroy the stack itself. */
  1987. | yyfree((yy_buffer_stack) );
  1988. | (yy_buffer_stack) = NULL;
  1989. |
  1990. | yyfree ( (yy_state_buf) );
  1991. | (yy_state_buf) = NULL;
  1992. |
  1993. | /* Reset the globals. This is important in a non-reentrant scanner so the next time
  1994. | * yylex() is called, initialization will occur. */
  1995. | yy_init_globals( );
  1996. |
  1997. | return 0;
  1998. | }
  1999. |
  2000. | /*
  2001. | * Internal utility routines.
  2002. | */
  2003. |
  2004. | #ifndef yytext_ptr
  2005. | static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
  2006. | {
  2007. |
  2008. | int i;
  2009. | for ( i = 0; i < n; ++i )
  2010. | s1[i] = s2[i];
  2011. | }
  2012. | #endif
  2013. |
  2014. | #ifdef YY_NEED_STRLEN
  2015. | static int yy_flex_strlen (yyconst char * s )
  2016. | {
  2017. | int n;
  2018. | for ( n = 0; s[n]; ++n )
  2019. | ;
  2020. |
  2021. | return n;
  2022. | }
  2023. | #endif
  2024. |
  2025. | void *yyalloc (yy_size_t size )
  2026. | {
  2027. | return (void *) malloc( size );
  2028. | }
  2029. |
  2030. | void *yyrealloc (void * ptr, yy_size_t size )
  2031. | {
  2032. |
  2033. | /* The cast to (char *) in the following accommodates both
  2034. | * implementations that use char* generic pointers, and those
  2035. | * that use void* generic pointers. It works with the latter
  2036. | * because both ANSI C and C++ allow castless assignment from
  2037. | * any pointer type to void*, and deal with argument conversions
  2038. | * as though doing an assignment.
  2039. | */
  2040. | return (void *) realloc( (char *) ptr, size );
  2041. | }
  2042. |
  2043. | void yyfree (void * ptr )
  2044. | {
  2045. | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
  2046. | }
  2047. |
  2048. | #define YYTABLES_NAME "yytables"
  2049. |
  2050. | #line 10 "conftest.l"
  2051. |
  2052. |
  2053. | #ifdef YYTEXT_POINTER
  2054. | extern char *yytext;
  2055. | #endif
  2056. | int
  2057. | main (void)
  2058. | {
  2059. | return ! yylex () + ! yywrap ();
  2060. | }
  2061. configure:4055: g++ -o conftest -std=c++11 -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -lfl >&5
  2062. conftest.l: In function 'int yylex()':
  2063. conftest.l:7:21: error: 'input' was not declared in this scope
  2064. yyless ((input () != 0)); }
  2065. ^
  2066. lex.yy.c:185:33: note: in definition of macro 'yyless'
  2067. int yyless_macro_arg = (n); \
  2068. ^
  2069. configure:4055: $? = 1
  2070. configure: failed program was:
  2071. | /* confdefs.h */
  2072. | #define PACKAGE_NAME ""
  2073. | #define PACKAGE_TARNAME ""
  2074. | #define PACKAGE_VERSION ""
  2075. | #define PACKAGE_STRING ""
  2076. | #define PACKAGE_BUGREPORT ""
  2077. | #define PACKAGE_URL ""
  2078. | #define HAVE_SWAPCONTEXT 1
  2079. | /* end confdefs.h. */
  2080. |
  2081. | #line 3 "lex.yy.c"
  2082. |
  2083. | #define YY_INT_ALIGNED short int
  2084. |
  2085. | /* A lexical scanner generated by flex */
  2086. |
  2087. | #define FLEX_SCANNER
  2088. | #define YY_FLEX_MAJOR_VERSION 2
  2089. | #define YY_FLEX_MINOR_VERSION 6
  2090. | #define YY_FLEX_SUBMINOR_VERSION 0
  2091. | #if YY_FLEX_SUBMINOR_VERSION > 0
  2092. | #define FLEX_BETA
  2093. | #endif
  2094. |
  2095. | /* First, we deal with platform-specific or compiler-specific issues. */
  2096. |
  2097. | /* begin standard C headers. */
  2098. | #include <stdio.h>
  2099. | #include <string.h>
  2100. | #include <errno.h>
  2101. | #include <stdlib.h>
  2102. |
  2103. | /* end standard C headers. */
  2104. |
  2105. | /* flex integer type definitions */
  2106. |
  2107. | #ifndef FLEXINT_H
  2108. | #define FLEXINT_H
  2109. |
  2110. | /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
  2111. |
  2112. | #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  2113. |
  2114. | /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  2115. | * if you want the limit (max/min) macros for int types.
  2116. | */
  2117. | #ifndef __STDC_LIMIT_MACROS
  2118. | #define __STDC_LIMIT_MACROS 1
  2119. | #endif
  2120. |
  2121. | #include <inttypes.h>
  2122. | typedef int8_t flex_int8_t;
  2123. | typedef uint8_t flex_uint8_t;
  2124. | typedef int16_t flex_int16_t;
  2125. | typedef uint16_t flex_uint16_t;
  2126. | typedef int32_t flex_int32_t;
  2127. | typedef uint32_t flex_uint32_t;
  2128. | #else
  2129. | typedef signed char flex_int8_t;
  2130. | typedef short int flex_int16_t;
  2131. | typedef int flex_int32_t;
  2132. | typedef unsigned char flex_uint8_t;
  2133. | typedef unsigned short int flex_uint16_t;
  2134. | typedef unsigned int flex_uint32_t;
  2135. |
  2136. | /* Limits of integral types. */
  2137. | #ifndef INT8_MIN
  2138. | #define INT8_MIN (-128)
  2139. | #endif
  2140. | #ifndef INT16_MIN
  2141. | #define INT16_MIN (-32767-1)
  2142. | #endif
  2143. | #ifndef INT32_MIN
  2144. | #define INT32_MIN (-2147483647-1)
  2145. | #endif
  2146. | #ifndef INT8_MAX
  2147. | #define INT8_MAX (127)
  2148. | #endif
  2149. | #ifndef INT16_MAX
  2150. | #define INT16_MAX (32767)
  2151. | #endif
  2152. | #ifndef INT32_MAX
  2153. | #define INT32_MAX (2147483647)
  2154. | #endif
  2155. | #ifndef UINT8_MAX
  2156. | #define UINT8_MAX (255U)
  2157. | #endif
  2158. | #ifndef UINT16_MAX
  2159. | #define UINT16_MAX (65535U)
  2160. | #endif
  2161. | #ifndef UINT32_MAX
  2162. | #define UINT32_MAX (4294967295U)
  2163. | #endif
  2164. |
  2165. | #endif /* ! C99 */
  2166. |
  2167. | #endif /* ! FLEXINT_H */
  2168. |
  2169. | #ifdef __cplusplus
  2170. |
  2171. | /* The "const" storage-class-modifier is valid. */
  2172. | #define YY_USE_CONST
  2173. |
  2174. | #else /* ! __cplusplus */
  2175. |
  2176. | /* C99 requires __STDC__ to be defined as 1. */
  2177. | #if defined (__STDC__)
  2178. |
  2179. | #define YY_USE_CONST
  2180. |
  2181. | #endif /* defined (__STDC__) */
  2182. | #endif /* ! __cplusplus */
  2183. |
  2184. | #ifdef YY_USE_CONST
  2185. | #define yyconst const
  2186. | #else
  2187. | #define yyconst
  2188. | #endif
  2189. |
  2190. | /* Returned upon end-of-file. */
  2191. | #define YY_NULL 0
  2192. |
  2193. | /* Promotes a possibly negative, possibly signed char to an unsigned
  2194. | * integer for use as an array index. If the signed char is negative,
  2195. | * we want to instead treat it as an 8-bit unsigned char, hence the
  2196. | * double cast.
  2197. | */
  2198. | #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  2199. |
  2200. | /* Enter a start condition. This macro really ought to take a parameter,
  2201. | * but we do it the disgusting crufty way forced on us by the ()-less
  2202. | * definition of BEGIN.
  2203. | */
  2204. | #define BEGIN (yy_start) = 1 + 2 *
  2205. |
  2206. | /* Translate the current start state into a value that can be later handed
  2207. | * to BEGIN to return to the state. The YYSTATE alias is for lex
  2208. | * compatibility.
  2209. | */
  2210. | #define YY_START (((yy_start) - 1) / 2)
  2211. | #define YYSTATE YY_START
  2212. |
  2213. | /* Action number for EOF rule of a given start state. */
  2214. | #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  2215. |
  2216. | /* Special action meaning "start processing a new file". */
  2217. | #define YY_NEW_FILE yyrestart(yyin )
  2218. |
  2219. | #define YY_END_OF_BUFFER_CHAR 0
  2220. |
  2221. | /* Size of default input buffer. */
  2222. | #ifndef YY_BUF_SIZE
  2223. | #ifdef __ia64__
  2224. | /* On IA-64, the buffer size is 16k, not 8k.
  2225. | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
  2226. | * Ditto for the __ia64__ case accordingly.
  2227. | */
  2228. | #define YY_BUF_SIZE 32768
  2229. | #else
  2230. | #define YY_BUF_SIZE 16384
  2231. | #endif /* __ia64__ */
  2232. | #endif
  2233. |
  2234. | /* The state buf must be large enough to hold one state per character in the main buffer.
  2235. | */
  2236. | #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
  2237. |
  2238. | #ifndef YY_TYPEDEF_YY_BUFFER_STATE
  2239. | #define YY_TYPEDEF_YY_BUFFER_STATE
  2240. | typedef struct yy_buffer_state *YY_BUFFER_STATE;
  2241. | #endif
  2242. |
  2243. | #ifndef YY_TYPEDEF_YY_SIZE_T
  2244. | #define YY_TYPEDEF_YY_SIZE_T
  2245. | typedef size_t yy_size_t;
  2246. | #endif
  2247. |
  2248. | extern yy_size_t yyleng;
  2249. |
  2250. | extern FILE *yyin, *yyout;
  2251. |
  2252. | #define EOB_ACT_CONTINUE_SCAN 0
  2253. | #define EOB_ACT_END_OF_FILE 1
  2254. | #define EOB_ACT_LAST_MATCH 2
  2255. |
  2256. | #define YY_LESS_LINENO(n)
  2257. | #define YY_LINENO_REWIND_TO(ptr)
  2258. |
  2259. | /* Return all but the first "n" matched characters back to the input stream. */
  2260. | #define yyless(n) \
  2261. | do \
  2262. | { \
  2263. | /* Undo effects of setting up yytext. */ \
  2264. | int yyless_macro_arg = (n); \
  2265. | YY_LESS_LINENO(yyless_macro_arg);\
  2266. | *yy_cp = (yy_hold_char); \
  2267. | YY_RESTORE_YY_MORE_OFFSET \
  2268. | (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
  2269. | YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  2270. | } \
  2271. | while ( 0 )
  2272. |
  2273. | #define unput(c) yyunput( c, (yytext_ptr) )
  2274. |
  2275. | #ifndef YY_STRUCT_YY_BUFFER_STATE
  2276. | #define YY_STRUCT_YY_BUFFER_STATE
  2277. | struct yy_buffer_state
  2278. | {
  2279. | FILE *yy_input_file;
  2280. |
  2281. | char *yy_ch_buf; /* input buffer */
  2282. | char *yy_buf_pos; /* current position in input buffer */
  2283. |
  2284. | /* Size of input buffer in bytes, not including room for EOB
  2285. | * characters.
  2286. | */
  2287. | yy_size_t yy_buf_size;
  2288. |
  2289. | /* Number of characters read into yy_ch_buf, not including EOB
  2290. | * characters.
  2291. | */
  2292. | int yy_n_chars;
  2293. |
  2294. | /* Whether we "own" the buffer - i.e., we know we created it,
  2295. | * and can realloc() it to grow it, and should free() it to
  2296. | * delete it.
  2297. | */
  2298. | int yy_is_our_buffer;
  2299. |
  2300. | /* Whether this is an "interactive" input source; if so, and
  2301. | * if we're using stdio for input, then we want to use getc()
  2302. | * instead of fread(), to make sure we stop fetching input after
  2303. | * each newline.
  2304. | */
  2305. | int yy_is_interactive;
  2306. |
  2307. | /* Whether we're considered to be at the beginning of a line.
  2308. | * If so, '^' rules will be active on the next match, otherwise
  2309. | * not.
  2310. | */
  2311. | int yy_at_bol;
  2312. |
  2313. | int yy_bs_lineno; /**< The line count. */
  2314. | int yy_bs_column; /**< The column count. */
  2315. |
  2316. | /* Whether to try to fill the input buffer when we reach the
  2317. | * end of it.
  2318. | */
  2319. | int yy_fill_buffer;
  2320. |
  2321. | int yy_buffer_status;
  2322. |
  2323. | #define YY_BUFFER_NEW 0
  2324. | #define YY_BUFFER_NORMAL 1
  2325. | /* When an EOF's been seen but there's still some text to process
  2326. | * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  2327. | * shouldn't try reading from the input source any more. We might
  2328. | * still have a bunch of tokens to match, though, because of
  2329. | * possible backing-up.
  2330. | *
  2331. | * When we actually see the EOF, we change the status to "new"
  2332. | * (via yyrestart()), so that the user can continue scanning by
  2333. | * just pointing yyin at a new input file.
  2334. | */
  2335. | #define YY_BUFFER_EOF_PENDING 2
  2336. |
  2337. | };
  2338. | #endif /* !YY_STRUCT_YY_BUFFER_STATE */
  2339. |
  2340. | /* Stack of input buffers. */
  2341. | static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
  2342. | static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
  2343. | static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
  2344. |
  2345. | /* We provide macros for accessing buffer states in case in the
  2346. | * future we want to put the buffer states in a more general
  2347. | * "scanner state".
  2348. | *
  2349. | * Returns the top of the stack, or NULL.
  2350. | */
  2351. | #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
  2352. | ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
  2353. | : NULL)
  2354. |
  2355. | /* Same as previous macro, but useful when we know that the buffer stack is not
  2356. | * NULL or when we need an lvalue. For internal use only.
  2357. | */
  2358. | #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
  2359. |
  2360. | /* yy_hold_char holds the character lost when yytext is formed. */
  2361. | static char yy_hold_char;
  2362. | static int yy_n_chars; /* number of characters read into yy_ch_buf */
  2363. | yy_size_t yyleng;
  2364. |
  2365. | /* Points to current character in buffer. */
  2366. | static char *yy_c_buf_p = (char *) 0;
  2367. | static int yy_init = 0; /* whether we need to initialize */
  2368. | static int yy_start = 0; /* start state number */
  2369. |
  2370. | /* Flag which is used to allow yywrap()'s to do buffer switches
  2371. | * instead of setting up a fresh yyin. A bit of a hack ...
  2372. | */
  2373. | static int yy_did_buffer_switch_on_eof;
  2374. |
  2375. | void yyrestart (FILE *input_file );
  2376. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
  2377. | YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
  2378. | void yy_delete_buffer (YY_BUFFER_STATE b );
  2379. | void yy_flush_buffer (YY_BUFFER_STATE b );
  2380. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
  2381. | void yypop_buffer_state (void );
  2382. |
  2383. | static void yyensure_buffer_stack (void );
  2384. | static void yy_load_buffer_state (void );
  2385. | static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
  2386. |
  2387. | #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
  2388. |
  2389. | YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
  2390. | YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
  2391. | YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
  2392. |
  2393. | void *yyalloc (yy_size_t );
  2394. | void *yyrealloc (void *,yy_size_t );
  2395. | void yyfree (void * );
  2396. |
  2397. | #define yy_new_buffer yy_create_buffer
  2398. |
  2399. | #define yy_set_interactive(is_interactive) \
  2400. | { \
  2401. | if ( ! YY_CURRENT_BUFFER ){ \
  2402. | yyensure_buffer_stack (); \
  2403. | YY_CURRENT_BUFFER_LVALUE = \
  2404. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  2405. | } \
  2406. | YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
  2407. | }
  2408. |
  2409. | #define yy_set_bol(at_bol) \
  2410. | { \
  2411. | if ( ! YY_CURRENT_BUFFER ){\
  2412. | yyensure_buffer_stack (); \
  2413. | YY_CURRENT_BUFFER_LVALUE = \
  2414. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  2415. | } \
  2416. | YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
  2417. | }
  2418. |
  2419. | #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
  2420. |
  2421. | /* Begin user sect3 */
  2422. |
  2423. | typedef unsigned char YY_CHAR;
  2424. |
  2425. | FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  2426. |
  2427. | typedef int yy_state_type;
  2428. |
  2429. | extern int yylineno;
  2430. |
  2431. | int yylineno = 1;
  2432. |
  2433. | extern char *yytext;
  2434. | #ifdef yytext_ptr
  2435. | #undef yytext_ptr
  2436. | #endif
  2437. | #define yytext_ptr yytext
  2438. |
  2439. | static yy_state_type yy_get_previous_state (void );
  2440. | static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
  2441. | static int yy_get_next_buffer (void );
  2442. | #if defined(__GNUC__) && __GNUC__ >= 3
  2443. | __attribute__((__noreturn__))
  2444. | #endif
  2445. | static void yy_fatal_error (yyconst char msg[] );
  2446. |
  2447. | /* Done after the current pattern has been matched and before the
  2448. | * corresponding action - sets up yytext.
  2449. | */
  2450. | #define YY_DO_BEFORE_ACTION \
  2451. | (yytext_ptr) = yy_bp; \
  2452. | (yytext_ptr) -= (yy_more_len); \
  2453. | yyleng = (size_t) (yy_cp - (yytext_ptr)); \
  2454. | (yy_hold_char) = *yy_cp; \
  2455. | *yy_cp = '\0'; \
  2456. | (yy_c_buf_p) = yy_cp;
  2457. |
  2458. | #define YY_NUM_RULES 8
  2459. | #define YY_END_OF_BUFFER 9
  2460. | /* This struct is not used in this scanner,
  2461. | but its presence is necessary. */
  2462. | struct yy_trans_info
  2463. | {
  2464. | flex_int32_t yy_verify;
  2465. | flex_int32_t yy_nxt;
  2466. | };
  2467. | static yyconst flex_int16_t yy_acclist[23] =
  2468. | { 0,
  2469. | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
  2470. | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
  2471. | 7, 8
  2472. | } ;
  2473. |
  2474. | static yyconst flex_int16_t yy_accept[14] =
  2475. | { 0,
  2476. | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
  2477. | 20, 23, 23
  2478. | } ;
  2479. |
  2480. | static yyconst YY_CHAR yy_ec[256] =
  2481. | { 0,
  2482. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  2483. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2484. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2485. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2486. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2487. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2488. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2489. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2490. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2491. | 1, 1, 1, 1, 1, 1, 3, 4, 5, 6,
  2492. |
  2493. | 7, 8, 1, 1, 1, 1, 1, 1, 1, 1,
  2494. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2495. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2496. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2497. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2498. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2499. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2500. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2501. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2502. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2503. |
  2504. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2505. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2506. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2507. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2508. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  2509. | 1, 1, 1, 1, 1
  2510. | } ;
  2511. |
  2512. | static yyconst YY_CHAR yy_meta[9] =
  2513. | { 0,
  2514. | 1, 1, 1, 1, 1, 1, 1, 1
  2515. | } ;
  2516. |
  2517. | static yyconst flex_uint16_t yy_base[13] =
  2518. | { 0,
  2519. | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
  2520. | 10, 10
  2521. | } ;
  2522. |
  2523. | static yyconst flex_int16_t yy_def[13] =
  2524. | { 0,
  2525. | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
  2526. | 12, 0
  2527. | } ;
  2528. |
  2529. | static yyconst flex_uint16_t yy_nxt[19] =
  2530. | { 0,
  2531. | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
  2532. | 12, 12, 12, 12, 12, 12, 12, 12
  2533. | } ;
  2534. |
  2535. | static yyconst flex_int16_t yy_chk[19] =
  2536. | { 0,
  2537. | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
  2538. | 12, 12, 12, 12, 12, 12, 12, 12
  2539. | } ;
  2540. |
  2541. | extern int yy_flex_debug;
  2542. | int yy_flex_debug = 0;
  2543. |
  2544. | static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
  2545. | static char *yy_full_match;
  2546. | static int yy_lp;
  2547. | #define REJECT \
  2548. | { \
  2549. | *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
  2550. | yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
  2551. | ++(yy_lp); \
  2552. | goto find_rule; \
  2553. | }
  2554. |
  2555. | static int yy_more_flag = 0;
  2556. | static int yy_more_len = 0;
  2557. | #define yymore() ((yy_more_flag) = 1)
  2558. | #define YY_MORE_ADJ (yy_more_len)
  2559. | #define YY_RESTORE_YY_MORE_OFFSET
  2560. | char *yytext;
  2561. | #line 1 "conftest.l"
  2562. | #line 484 "lex.yy.c"
  2563. |
  2564. | #define INITIAL 0
  2565. |
  2566. | #ifndef YY_NO_UNISTD_H
  2567. | /* Special case for "unistd.h", since it is non-ANSI. We include it way
  2568. | * down here because we want the user's section 1 to have been scanned first.
  2569. | * The user has a chance to override it with an option.
  2570. | */
  2571. | #include <unistd.h>
  2572. | #endif
  2573. |
  2574. | #ifndef YY_EXTRA_TYPE
  2575. | #define YY_EXTRA_TYPE void *
  2576. | #endif
  2577. |
  2578. | static int yy_init_globals (void );
  2579. |
  2580. | /* Accessor methods to globals.
  2581. | These are made visible to non-reentrant scanners for convenience. */
  2582. |
  2583. | int yylex_destroy (void );
  2584. |
  2585. | int yyget_debug (void );
  2586. |
  2587. | void yyset_debug (int debug_flag );
  2588. |
  2589. | YY_EXTRA_TYPE yyget_extra (void );
  2590. |
  2591. | void yyset_extra (YY_EXTRA_TYPE user_defined );
  2592. |
  2593. | FILE *yyget_in (void );
  2594. |
  2595. | void yyset_in (FILE * _in_str );
  2596. |
  2597. | FILE *yyget_out (void );
  2598. |
  2599. | void yyset_out (FILE * _out_str );
  2600. |
  2601. | yy_size_t yyget_leng (void );
  2602. |
  2603. | char *yyget_text (void );
  2604. |
  2605. | int yyget_lineno (void );
  2606. |
  2607. | void yyset_lineno (int _line_number );
  2608. |
  2609. | /* Macros after this point can all be overridden by user definitions in
  2610. | * section 1.
  2611. | */
  2612. |
  2613. | #ifndef YY_SKIP_YYWRAP
  2614. | #ifdef __cplusplus
  2615. | extern "C" int yywrap (void );
  2616. | #else
  2617. | extern int yywrap (void );
  2618. | #endif
  2619. | #endif
  2620. |
  2621. | #ifndef YY_NO_UNPUT
  2622. |
  2623. | static void yyunput (int c,char *buf_ptr );
  2624. |
  2625. | #endif
  2626. |
  2627. | #ifndef yytext_ptr
  2628. | static void yy_flex_strncpy (char *,yyconst char *,int );
  2629. | #endif
  2630. |
  2631. | #ifdef YY_NEED_STRLEN
  2632. | static int yy_flex_strlen (yyconst char * );
  2633. | #endif
  2634. |
  2635. | #ifndef YY_NO_INPUT
  2636. |
  2637. | #ifdef __cplusplus
  2638. | static int yyinput (void );
  2639. | #else
  2640. | static int input (void );
  2641. | #endif
  2642. |
  2643. | #endif
  2644. |
  2645. | /* Amount of stuff to slurp up with each read. */
  2646. | #ifndef YY_READ_BUF_SIZE
  2647. | #ifdef __ia64__
  2648. | /* On IA-64, the buffer size is 16k, not 8k */
  2649. | #define YY_READ_BUF_SIZE 16384
  2650. | #else
  2651. | #define YY_READ_BUF_SIZE 8192
  2652. | #endif /* __ia64__ */
  2653. | #endif
  2654. |
  2655. | /* Copy whatever the last rule matched to the standard output. */
  2656. | #ifndef ECHO
  2657. | /* This used to be an fputs(), but since the string might contain NUL's,
  2658. | * we now use fwrite().
  2659. | */
  2660. | #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
  2661. | #endif
  2662. |
  2663. | /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
  2664. | * is returned in "result".
  2665. | */
  2666. | #ifndef YY_INPUT
  2667. | #define YY_INPUT(buf,result,max_size) \
  2668. | if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
  2669. | { \
  2670. | int c = '*'; \
  2671. | size_t n; \
  2672. | for ( n = 0; n < max_size && \
  2673. | (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
  2674. | buf[n] = (char) c; \
  2675. | if ( c == '\n' ) \
  2676. | buf[n++] = (char) c; \
  2677. | if ( c == EOF && ferror( yyin ) ) \
  2678. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  2679. | result = n; \
  2680. | } \
  2681. | else \
  2682. | { \
  2683. | errno=0; \
  2684. | while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
  2685. | { \
  2686. | if( errno != EINTR) \
  2687. | { \
  2688. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  2689. | break; \
  2690. | } \
  2691. | errno=0; \
  2692. | clearerr(yyin); \
  2693. | } \
  2694. | }\
  2695. | \
  2696. |
  2697. | #endif
  2698. |
  2699. | /* No semi-colon after return; correct usage is to write "yyterminate();" -
  2700. | * we don't want an extra ';' after the "return" because that will cause
  2701. | * some compilers to complain about unreachable statements.
  2702. | */
  2703. | #ifndef yyterminate
  2704. | #define yyterminate() return YY_NULL
  2705. | #endif
  2706. |
  2707. | /* Number of entries by which start-condition stack grows. */
  2708. | #ifndef YY_START_STACK_INCR
  2709. | #define YY_START_STACK_INCR 25
  2710. | #endif
  2711. |
  2712. | /* Report a fatal error. */
  2713. | #ifndef YY_FATAL_ERROR
  2714. | #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  2715. | #endif
  2716. |
  2717. | /* end tables serialization structures and prototypes */
  2718. |
  2719. | /* Default declaration of generated scanner - a define so the user can
  2720. | * easily add parameters.
  2721. | */
  2722. | #ifndef YY_DECL
  2723. | #define YY_DECL_IS_OURS 1
  2724. |
  2725. | extern int yylex (void);
  2726. |
  2727. | #define YY_DECL int yylex (void)
  2728. | #endif /* !YY_DECL */
  2729. |
  2730. | /* Code executed at the beginning of each rule, after yytext and yyleng
  2731. | * have been set up.
  2732. | */
  2733. | #ifndef YY_USER_ACTION
  2734. | #define YY_USER_ACTION
  2735. | #endif
  2736. |
  2737. | /* Code executed at the end of each rule. */
  2738. | #ifndef YY_BREAK
  2739. | #define YY_BREAK /*LINTED*/break;
  2740. | #endif
  2741. |
  2742. | #define YY_RULE_SETUP \
  2743. | YY_USER_ACTION
  2744. |
  2745. | /** The main scanner function which does all the work.
  2746. | */
  2747. | YY_DECL
  2748. | {
  2749. | yy_state_type yy_current_state;
  2750. | char *yy_cp, *yy_bp;
  2751. | int yy_act;
  2752. |
  2753. | if ( !(yy_init) )
  2754. | {
  2755. | (yy_init) = 1;
  2756. |
  2757. | #ifdef YY_USER_INIT
  2758. | YY_USER_INIT;
  2759. | #endif
  2760. |
  2761. | /* Create the reject buffer large enough to save one state per allowed character. */
  2762. | if ( ! (yy_state_buf) )
  2763. | (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE );
  2764. | if ( ! (yy_state_buf) )
  2765. | YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
  2766. |
  2767. | if ( ! (yy_start) )
  2768. | (yy_start) = 1; /* first start state */
  2769. |
  2770. | if ( ! yyin )
  2771. | yyin = stdin;
  2772. |
  2773. | if ( ! yyout )
  2774. | yyout = stdout;
  2775. |
  2776. | if ( ! YY_CURRENT_BUFFER ) {
  2777. | yyensure_buffer_stack ();
  2778. | YY_CURRENT_BUFFER_LVALUE =
  2779. | yy_create_buffer(yyin,YY_BUF_SIZE );
  2780. | }
  2781. |
  2782. | yy_load_buffer_state( );
  2783. | }
  2784. |
  2785. | {
  2786. | #line 1 "conftest.l"
  2787. |
  2788. | #line 710 "lex.yy.c"
  2789. |
  2790. | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
  2791. | {
  2792. | (yy_more_len) = 0;
  2793. | if ( (yy_more_flag) )
  2794. | {
  2795. | (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
  2796. | (yy_more_flag) = 0;
  2797. | }
  2798. | yy_cp = (yy_c_buf_p);
  2799. |
  2800. | /* Support of yytext. */
  2801. | *yy_cp = (yy_hold_char);
  2802. |
  2803. | /* yy_bp points to the position in yy_ch_buf of the start of
  2804. | * the current run.
  2805. | */
  2806. | yy_bp = yy_cp;
  2807. |
  2808. | yy_current_state = (yy_start);
  2809. |
  2810. | (yy_state_ptr) = (yy_state_buf);
  2811. | *(yy_state_ptr)++ = yy_current_state;
  2812. |
  2813. | yy_match:
  2814. | do
  2815. | {
  2816. | YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
  2817. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  2818. | {
  2819. | yy_current_state = (int) yy_def[yy_current_state];
  2820. | if ( yy_current_state >= 13 )
  2821. | yy_c = yy_meta[(unsigned int) yy_c];
  2822. | }
  2823. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  2824. | *(yy_state_ptr)++ = yy_current_state;
  2825. | ++yy_cp;
  2826. | }
  2827. | while ( yy_base[yy_current_state] != 10 );
  2828. |
  2829. | yy_find_action:
  2830. | yy_current_state = *--(yy_state_ptr);
  2831. | (yy_lp) = yy_accept[yy_current_state];
  2832. | find_rule: /* we branch to this label when backing up */
  2833. | for ( ; ; ) /* until we find what rule we matched */
  2834. | {
  2835. | if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
  2836. | {
  2837. | yy_act = yy_acclist[(yy_lp)];
  2838. | {
  2839. | (yy_full_match) = yy_cp;
  2840. | break;
  2841. | }
  2842. | }
  2843. | --yy_cp;
  2844. | yy_current_state = *--(yy_state_ptr);
  2845. | (yy_lp) = yy_accept[yy_current_state];
  2846. | }
  2847. |
  2848. | YY_DO_BEFORE_ACTION;
  2849. |
  2850. | do_action: /* This label is used only to access EOF actions. */
  2851. |
  2852. | switch ( yy_act )
  2853. | { /* beginning of action switch */
  2854. | case 1:
  2855. | YY_RULE_SETUP
  2856. | #line 2 "conftest.l"
  2857. | { ECHO; }
  2858. | YY_BREAK
  2859. | case 2:
  2860. | YY_RULE_SETUP
  2861. | #line 3 "conftest.l"
  2862. | { REJECT; }
  2863. | YY_BREAK
  2864. | case 3:
  2865. | YY_RULE_SETUP
  2866. | #line 4 "conftest.l"
  2867. | { yymore (); }
  2868. | YY_BREAK
  2869. | case 4:
  2870. | YY_RULE_SETUP
  2871. | #line 5 "conftest.l"
  2872. | { yyless (1); }
  2873. | YY_BREAK
  2874. | case 5:
  2875. | YY_RULE_SETUP
  2876. | #line 6 "conftest.l"
  2877. | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
  2878. | yyless ((input () != 0)); }
  2879. | YY_BREAK
  2880. | case 6:
  2881. | YY_RULE_SETUP
  2882. | #line 8 "conftest.l"
  2883. | { unput (yytext[0]); }
  2884. | YY_BREAK
  2885. | case 7:
  2886. | YY_RULE_SETUP
  2887. | #line 9 "conftest.l"
  2888. | { BEGIN INITIAL; }
  2889. | YY_BREAK
  2890. | case 8:
  2891. | YY_RULE_SETUP
  2892. | #line 10 "conftest.l"
  2893. | ECHO;
  2894. | YY_BREAK
  2895. | #line 817 "lex.yy.c"
  2896. | case YY_STATE_EOF(INITIAL):
  2897. | yyterminate();
  2898. |
  2899. | case YY_END_OF_BUFFER:
  2900. | {
  2901. | /* Amount of text matched not including the EOB char. */
  2902. | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
  2903. |
  2904. | /* Undo the effects of YY_DO_BEFORE_ACTION. */
  2905. | *yy_cp = (yy_hold_char);
  2906. | YY_RESTORE_YY_MORE_OFFSET
  2907. |
  2908. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
  2909. | {
  2910. | /* We're scanning a new file or input source. It's
  2911. | * possible that this happened because the user
  2912. | * just pointed yyin at a new source and called
  2913. | * yylex(). If so, then we have to assure
  2914. | * consistency between YY_CURRENT_BUFFER and our
  2915. | * globals. Here is the right place to do so, because
  2916. | * this is the first action (other than possibly a
  2917. | * back-up) that will match for the new input source.
  2918. | */
  2919. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  2920. | YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
  2921. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
  2922. | }
  2923. |
  2924. | /* Note that here we test for yy_c_buf_p "<=" to the position
  2925. | * of the first EOB in the buffer, since yy_c_buf_p will
  2926. | * already have been incremented past the NUL character
  2927. | * (since all states make transitions on EOB to the
  2928. | * end-of-buffer state). Contrast this with the test
  2929. | * in input().
  2930. | */
  2931. | if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  2932. | { /* This was really a NUL. */
  2933. | yy_state_type yy_next_state;
  2934. |
  2935. | (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
  2936. |
  2937. | yy_current_state = yy_get_previous_state( );
  2938. |
  2939. | /* Okay, we're now positioned to make the NUL
  2940. | * transition. We couldn't have
  2941. | * yy_get_previous_state() go ahead and do it
  2942. | * for us because it doesn't know how to deal
  2943. | * with the possibility of jamming (and we don't
  2944. | * want to build jamming into it because then it
  2945. | * will run more slowly).
  2946. | */
  2947. |
  2948. | yy_next_state = yy_try_NUL_trans( yy_current_state );
  2949. |
  2950. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  2951. |
  2952. | if ( yy_next_state )
  2953. | {
  2954. | /* Consume the NUL. */
  2955. | yy_cp = ++(yy_c_buf_p);
  2956. | yy_current_state = yy_next_state;
  2957. | goto yy_match;
  2958. | }
  2959. |
  2960. | else
  2961. | {
  2962. | yy_cp = (yy_c_buf_p);
  2963. | goto yy_find_action;
  2964. | }
  2965. | }
  2966. |
  2967. | else switch ( yy_get_next_buffer( ) )
  2968. | {
  2969. | case EOB_ACT_END_OF_FILE:
  2970. | {
  2971. | (yy_did_buffer_switch_on_eof) = 0;
  2972. |
  2973. | if ( yywrap( ) )
  2974. | {
  2975. | /* Note: because we've taken care in
  2976. | * yy_get_next_buffer() to have set up
  2977. | * yytext, we can now set up
  2978. | * yy_c_buf_p so that if some total
  2979. | * hoser (like flex itself) wants to
  2980. | * call the scanner after we return the
  2981. | * YY_NULL, it'll still work - another
  2982. | * YY_NULL will get returned.
  2983. | */
  2984. | (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
  2985. |
  2986. | yy_act = YY_STATE_EOF(YY_START);
  2987. | goto do_action;
  2988. | }
  2989. |
  2990. | else
  2991. | {
  2992. | if ( ! (yy_did_buffer_switch_on_eof) )
  2993. | YY_NEW_FILE;
  2994. | }
  2995. | break;
  2996. | }
  2997. |
  2998. | case EOB_ACT_CONTINUE_SCAN:
  2999. | (yy_c_buf_p) =
  3000. | (yytext_ptr) + yy_amount_of_matched_text;
  3001. |
  3002. | yy_current_state = yy_get_previous_state( );
  3003. |
  3004. | yy_cp = (yy_c_buf_p);
  3005. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  3006. | goto yy_match;
  3007. |
  3008. | case EOB_ACT_LAST_MATCH:
  3009. | (yy_c_buf_p) =
  3010. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
  3011. |
  3012. | yy_current_state = yy_get_previous_state( );
  3013. |
  3014. | yy_cp = (yy_c_buf_p);
  3015. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  3016. | goto yy_find_action;
  3017. | }
  3018. | break;
  3019. | }
  3020. |
  3021. | default:
  3022. | YY_FATAL_ERROR(
  3023. | "fatal flex scanner internal error--no action found" );
  3024. | } /* end of action switch */
  3025. | } /* end of scanning one token */
  3026. | } /* end of user's declarations */
  3027. | } /* end of yylex */
  3028. |
  3029. | /* yy_get_next_buffer - try to read in a new buffer
  3030. | *
  3031. | * Returns a code representing an action:
  3032. | * EOB_ACT_LAST_MATCH -
  3033. | * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  3034. | * EOB_ACT_END_OF_FILE - end of file
  3035. | */
  3036. | static int yy_get_next_buffer (void)
  3037. | {
  3038. | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
  3039. | char *source = (yytext_ptr);
  3040. | yy_size_t number_to_move, i;
  3041. | int ret_val;
  3042. |
  3043. | if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
  3044. | YY_FATAL_ERROR(
  3045. | "fatal flex scanner internal error--end of buffer missed" );
  3046. |
  3047. | if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
  3048. | { /* Don't try to fill the buffer, so this is an EOF. */
  3049. | if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
  3050. | {
  3051. | /* We matched a single character, the EOB, so
  3052. | * treat this as a final EOF.
  3053. | */
  3054. | return EOB_ACT_END_OF_FILE;
  3055. | }
  3056. |
  3057. | else
  3058. | {
  3059. | /* We matched some text prior to the EOB, first
  3060. | * process it.
  3061. | */
  3062. | return EOB_ACT_LAST_MATCH;
  3063. | }
  3064. | }
  3065. |
  3066. | /* Try to read more data. */
  3067. |
  3068. | /* First move last chars to start of buffer. */
  3069. | number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
  3070. |
  3071. | for ( i = 0; i < number_to_move; ++i )
  3072. | *(dest++) = *(source++);
  3073. |
  3074. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  3075. | /* don't do the read, it's not guaranteed to return an EOF,
  3076. | * just force an EOF
  3077. | */
  3078. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
  3079. |
  3080. | else
  3081. | {
  3082. | yy_size_t num_to_read =
  3083. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
  3084. |
  3085. | while ( num_to_read <= 0 )
  3086. | { /* Not enough room in the buffer - grow it. */
  3087. |
  3088. | YY_FATAL_ERROR(
  3089. | "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  3090. |
  3091. | }
  3092. |
  3093. | if ( num_to_read > YY_READ_BUF_SIZE )
  3094. | num_to_read = YY_READ_BUF_SIZE;
  3095. |
  3096. | /* Read in more data. */
  3097. | YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
  3098. | (yy_n_chars), num_to_read );
  3099. |
  3100. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  3101. | }
  3102. |
  3103. | if ( (yy_n_chars) == 0 )
  3104. | {
  3105. | if ( number_to_move == YY_MORE_ADJ )
  3106. | {
  3107. | ret_val = EOB_ACT_END_OF_FILE;
  3108. | yyrestart(yyin );
  3109. | }
  3110. |
  3111. | else
  3112. | {
  3113. | ret_val = EOB_ACT_LAST_MATCH;
  3114. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
  3115. | YY_BUFFER_EOF_PENDING;
  3116. | }
  3117. | }
  3118. |
  3119. | else
  3120. | ret_val = EOB_ACT_CONTINUE_SCAN;
  3121. |
  3122. | if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
  3123. | /* Extend the array by 50%, plus the number we really need. */
  3124. | int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
  3125. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
  3126. | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  3127. | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
  3128. | }
  3129. |
  3130. | (yy_n_chars) += number_to_move;
  3131. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
  3132. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
  3133. |
  3134. | (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
  3135. |
  3136. | return ret_val;
  3137. | }
  3138. |
  3139. | /* yy_get_previous_state - get the state just before the EOB char was reached */
  3140. |
  3141. | static yy_state_type yy_get_previous_state (void)
  3142. | {
  3143. | yy_state_type yy_current_state;
  3144. | char *yy_cp;
  3145. |
  3146. | yy_current_state = (yy_start);
  3147. |
  3148. | (yy_state_ptr) = (yy_state_buf);
  3149. | *(yy_state_ptr)++ = yy_current_state;
  3150. |
  3151. | for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
  3152. | {
  3153. | YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  3154. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  3155. | {
  3156. | yy_current_state = (int) yy_def[yy_current_state];
  3157. | if ( yy_current_state >= 13 )
  3158. | yy_c = yy_meta[(unsigned int) yy_c];
  3159. | }
  3160. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  3161. | *(yy_state_ptr)++ = yy_current_state;
  3162. | }
  3163. |
  3164. | return yy_current_state;
  3165. | }
  3166. |
  3167. | /* yy_try_NUL_trans - try to make a transition on the NUL character
  3168. | *
  3169. | * synopsis
  3170. | * next_state = yy_try_NUL_trans( current_state );
  3171. | */
  3172. | static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
  3173. | {
  3174. | int yy_is_jam;
  3175. |
  3176. | YY_CHAR yy_c = 1;
  3177. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  3178. | {
  3179. | yy_current_state = (int) yy_def[yy_current_state];
  3180. | if ( yy_current_state >= 13 )
  3181. | yy_c = yy_meta[(unsigned int) yy_c];
  3182. | }
  3183. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  3184. | yy_is_jam = (yy_current_state == 12);
  3185. | if ( ! yy_is_jam )
  3186. | *(yy_state_ptr)++ = yy_current_state;
  3187. |
  3188. | return yy_is_jam ? 0 : yy_current_state;
  3189. | }
  3190. |
  3191. | #ifndef YY_NO_UNPUT
  3192. |
  3193. | static void yyunput (int c, char * yy_bp )
  3194. | {
  3195. | char *yy_cp;
  3196. |
  3197. | yy_cp = (yy_c_buf_p);
  3198. |
  3199. | /* undo effects of setting up yytext */
  3200. | *yy_cp = (yy_hold_char);
  3201. |
  3202. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  3203. | { /* need to shift things up to make room */
  3204. | /* +2 for EOB chars. */
  3205. | yy_size_t number_to_move = (yy_n_chars) + 2;
  3206. | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
  3207. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
  3208. | char *source =
  3209. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
  3210. |
  3211. | while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  3212. | *--dest = *--source;
  3213. |
  3214. | yy_cp += (int) (dest - source);
  3215. | yy_bp += (int) (dest - source);
  3216. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
  3217. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
  3218. |
  3219. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  3220. | YY_FATAL_ERROR( "flex scanner push-back overflow" );
  3221. | }
  3222. |
  3223. | *--yy_cp = (char) c;
  3224. |
  3225. | (yytext_ptr) = yy_bp;
  3226. | (yy_hold_char) = *yy_cp;
  3227. | (yy_c_buf_p) = yy_cp;
  3228. | }
  3229. |
  3230. | #endif
  3231. |
  3232. | #ifndef YY_NO_INPUT
  3233. | #ifdef __cplusplus
  3234. | static int yyinput (void)
  3235. | #else
  3236. | static int input (void)
  3237. | #endif
  3238. |
  3239. | {
  3240. | int c;
  3241. |
  3242. | *(yy_c_buf_p) = (yy_hold_char);
  3243. |
  3244. | if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
  3245. | {
  3246. | /* yy_c_buf_p now points to the character we want to return.
  3247. | * If this occurs *before* the EOB characters, then it's a
  3248. | * valid NUL; if not, then we've hit the end of the buffer.
  3249. | */
  3250. | if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  3251. | /* This was really a NUL. */
  3252. | *(yy_c_buf_p) = '\0';
  3253. |
  3254. | else
  3255. | { /* need more input */
  3256. | yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
  3257. | ++(yy_c_buf_p);
  3258. |
  3259. | switch ( yy_get_next_buffer( ) )
  3260. | {
  3261. | case EOB_ACT_LAST_MATCH:
  3262. | /* This happens because yy_g_n_b()
  3263. | * sees that we've accumulated a
  3264. | * token and flags that we need to
  3265. | * try matching the token before
  3266. | * proceeding. But for input(),
  3267. | * there's no matching to consider.
  3268. | * So convert the EOB_ACT_LAST_MATCH
  3269. | * to EOB_ACT_END_OF_FILE.
  3270. | */
  3271. |
  3272. | /* Reset buffer status. */
  3273. | yyrestart(yyin );
  3274. |
  3275. | /*FALLTHROUGH*/
  3276. |
  3277. | case EOB_ACT_END_OF_FILE:
  3278. | {
  3279. | if ( yywrap( ) )
  3280. | return EOF;
  3281. |
  3282. | if ( ! (yy_did_buffer_switch_on_eof) )
  3283. | YY_NEW_FILE;
  3284. | #ifdef __cplusplus
  3285. | return yyinput();
  3286. | #else
  3287. | return input();
  3288. | #endif
  3289. | }
  3290. |
  3291. | case EOB_ACT_CONTINUE_SCAN:
  3292. | (yy_c_buf_p) = (yytext_ptr) + offset;
  3293. | break;
  3294. | }
  3295. | }
  3296. | }
  3297. |
  3298. | c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
  3299. | *(yy_c_buf_p) = '\0'; /* preserve yytext */
  3300. | (yy_hold_char) = *++(yy_c_buf_p);
  3301. |
  3302. | return c;
  3303. | }
  3304. | #endif /* ifndef YY_NO_INPUT */
  3305. |
  3306. | /** Immediately switch to a different input stream.
  3307. | * @param input_file A readable stream.
  3308. | *
  3309. | * @note This function does not reset the start condition to @c INITIAL .
  3310. | */
  3311. | void yyrestart (FILE * input_file )
  3312. | {
  3313. |
  3314. | if ( ! YY_CURRENT_BUFFER ){
  3315. | yyensure_buffer_stack ();
  3316. | YY_CURRENT_BUFFER_LVALUE =
  3317. | yy_create_buffer(yyin,YY_BUF_SIZE );
  3318. | }
  3319. |
  3320. | yy_init_buffer(YY_CURRENT_BUFFER,input_file );
  3321. | yy_load_buffer_state( );
  3322. | }
  3323. |
  3324. | /** Switch to a different input buffer.
  3325. | * @param new_buffer The new input buffer.
  3326. | *
  3327. | */
  3328. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
  3329. | {
  3330. |
  3331. | /* TODO. We should be able to replace this entire function body
  3332. | * with
  3333. | * yypop_buffer_state();
  3334. | * yypush_buffer_state(new_buffer);
  3335. | */
  3336. | yyensure_buffer_stack ();
  3337. | if ( YY_CURRENT_BUFFER == new_buffer )
  3338. | return;
  3339. |
  3340. | if ( YY_CURRENT_BUFFER )
  3341. | {
  3342. | /* Flush out information for old buffer. */
  3343. | *(yy_c_buf_p) = (yy_hold_char);
  3344. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  3345. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  3346. | }
  3347. |
  3348. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  3349. | yy_load_buffer_state( );
  3350. |
  3351. | /* We don't actually know whether we did this switch during
  3352. | * EOF (yywrap()) processing, but the only time this flag
  3353. | * is looked at is after yywrap() is called, so it's safe
  3354. | * to go ahead and always set it.
  3355. | */
  3356. | (yy_did_buffer_switch_on_eof) = 1;
  3357. | }
  3358. |
  3359. | static void yy_load_buffer_state (void)
  3360. | {
  3361. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  3362. | (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
  3363. | yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
  3364. | (yy_hold_char) = *(yy_c_buf_p);
  3365. | }
  3366. |
  3367. | /** Allocate and initialize an input buffer state.
  3368. | * @param file A readable stream.
  3369. | * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
  3370. | *
  3371. | * @return the allocated buffer state.
  3372. | */
  3373. | YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
  3374. | {
  3375. | YY_BUFFER_STATE b;
  3376. |
  3377. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  3378. | if ( ! b )
  3379. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  3380. |
  3381. | b->yy_buf_size = (yy_size_t)size;
  3382. |
  3383. | /* yy_ch_buf has to be 2 characters longer than the size given because
  3384. | * we need to put in 2 end-of-buffer characters.
  3385. | */
  3386. | b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
  3387. | if ( ! b->yy_ch_buf )
  3388. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  3389. |
  3390. | b->yy_is_our_buffer = 1;
  3391. |
  3392. | yy_init_buffer(b,file );
  3393. |
  3394. | return b;
  3395. | }
  3396. |
  3397. | /** Destroy the buffer.
  3398. | * @param b a buffer created with yy_create_buffer()
  3399. | *
  3400. | */
  3401. | void yy_delete_buffer (YY_BUFFER_STATE b )
  3402. | {
  3403. |
  3404. | if ( ! b )
  3405. | return;
  3406. |
  3407. | if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
  3408. | YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
  3409. |
  3410. | if ( b->yy_is_our_buffer )
  3411. | yyfree((void *) b->yy_ch_buf );
  3412. |
  3413. | yyfree((void *) b );
  3414. | }
  3415. |
  3416. | /* Initializes or reinitializes a buffer.
  3417. | * This function is sometimes called more than once on the same buffer,
  3418. | * such as during a yyrestart() or at EOF.
  3419. | */
  3420. | static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
  3421. |
  3422. | {
  3423. | int oerrno = errno;
  3424. |
  3425. | yy_flush_buffer(b );
  3426. |
  3427. | b->yy_input_file = file;
  3428. | b->yy_fill_buffer = 1;
  3429. |
  3430. | /* If b is the current buffer, then yy_init_buffer was _probably_
  3431. | * called from yyrestart() or through yy_get_next_buffer.
  3432. | * In that case, we don't want to reset the lineno or column.
  3433. | */
  3434. | if (b != YY_CURRENT_BUFFER){
  3435. | b->yy_bs_lineno = 1;
  3436. | b->yy_bs_column = 0;
  3437. | }
  3438. |
  3439. | b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
  3440. |
  3441. | errno = oerrno;
  3442. | }
  3443. |
  3444. | /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  3445. | * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  3446. | *
  3447. | */
  3448. | void yy_flush_buffer (YY_BUFFER_STATE b )
  3449. | {
  3450. | if ( ! b )
  3451. | return;
  3452. |
  3453. | b->yy_n_chars = 0;
  3454. |
  3455. | /* We always need two end-of-buffer characters. The first causes
  3456. | * a transition to the end-of-buffer state. The second causes
  3457. | * a jam in that state.
  3458. | */
  3459. | b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  3460. | b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  3461. |
  3462. | b->yy_buf_pos = &b->yy_ch_buf[0];
  3463. |
  3464. | b->yy_at_bol = 1;
  3465. | b->yy_buffer_status = YY_BUFFER_NEW;
  3466. |
  3467. | if ( b == YY_CURRENT_BUFFER )
  3468. | yy_load_buffer_state( );
  3469. | }
  3470. |
  3471. | /** Pushes the new state onto the stack. The new state becomes
  3472. | * the current state. This function will allocate the stack
  3473. | * if necessary.
  3474. | * @param new_buffer The new state.
  3475. | *
  3476. | */
  3477. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  3478. | {
  3479. | if (new_buffer == NULL)
  3480. | return;
  3481. |
  3482. | yyensure_buffer_stack();
  3483. |
  3484. | /* This block is copied from yy_switch_to_buffer. */
  3485. | if ( YY_CURRENT_BUFFER )
  3486. | {
  3487. | /* Flush out information for old buffer. */
  3488. | *(yy_c_buf_p) = (yy_hold_char);
  3489. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  3490. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  3491. | }
  3492. |
  3493. | /* Only push if top exists. Otherwise, replace top. */
  3494. | if (YY_CURRENT_BUFFER)
  3495. | (yy_buffer_stack_top)++;
  3496. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  3497. |
  3498. | /* copied from yy_switch_to_buffer. */
  3499. | yy_load_buffer_state( );
  3500. | (yy_did_buffer_switch_on_eof) = 1;
  3501. | }
  3502. |
  3503. | /** Removes and deletes the top of the stack, if present.
  3504. | * The next element becomes the new top.
  3505. | *
  3506. | */
  3507. | void yypop_buffer_state (void)
  3508. | {
  3509. | if (!YY_CURRENT_BUFFER)
  3510. | return;
  3511. |
  3512. | yy_delete_buffer(YY_CURRENT_BUFFER );
  3513. | YY_CURRENT_BUFFER_LVALUE = NULL;
  3514. | if ((yy_buffer_stack_top) > 0)
  3515. | --(yy_buffer_stack_top);
  3516. |
  3517. | if (YY_CURRENT_BUFFER) {
  3518. | yy_load_buffer_state( );
  3519. | (yy_did_buffer_switch_on_eof) = 1;
  3520. | }
  3521. | }
  3522. |
  3523. | /* Allocates the stack if it does not exist.
  3524. | * Guarantees space for at least one push.
  3525. | */
  3526. | static void yyensure_buffer_stack (void)
  3527. | {
  3528. | yy_size_t num_to_alloc;
  3529. |
  3530. | if (!(yy_buffer_stack)) {
  3531. |
  3532. | /* First allocation is just for 2 elements, since we don't know if this
  3533. | * scanner will even need a stack. We use 2 instead of 1 to avoid an
  3534. | * immediate realloc on the next call.
  3535. | */
  3536. | num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
  3537. | (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
  3538. | (num_to_alloc * sizeof(struct yy_buffer_state*)
  3539. | );
  3540. | if ( ! (yy_buffer_stack) )
  3541. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  3542. |
  3543. | memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
  3544. |
  3545. | (yy_buffer_stack_max) = num_to_alloc;
  3546. | (yy_buffer_stack_top) = 0;
  3547. | return;
  3548. | }
  3549. |
  3550. | if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
  3551. |
  3552. | /* Increase the buffer to prepare for a possible push. */
  3553. | yy_size_t grow_size = 8 /* arbitrary grow size */;
  3554. |
  3555. | num_to_alloc = (yy_buffer_stack_max) + grow_size;
  3556. | (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
  3557. | ((yy_buffer_stack),
  3558. | num_to_alloc * sizeof(struct yy_buffer_state*)
  3559. | );
  3560. | if ( ! (yy_buffer_stack) )
  3561. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  3562. |
  3563. | /* zero only the new slots.*/
  3564. | memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
  3565. | (yy_buffer_stack_max) = num_to_alloc;
  3566. | }
  3567. | }
  3568. |
  3569. | /** Setup the input buffer state to scan directly from a user-specified character buffer.
  3570. | * @param base the character buffer
  3571. | * @param size the size in bytes of the character buffer
  3572. | *
  3573. | * @return the newly allocated buffer state object.
  3574. | */
  3575. | YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
  3576. | {
  3577. | YY_BUFFER_STATE b;
  3578. |
  3579. | if ( size < 2 ||
  3580. | base[size-2] != YY_END_OF_BUFFER_CHAR ||
  3581. | base[size-1] != YY_END_OF_BUFFER_CHAR )
  3582. | /* They forgot to leave room for the EOB's. */
  3583. | return 0;
  3584. |
  3585. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  3586. | if ( ! b )
  3587. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
  3588. |
  3589. | b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
  3590. | b->yy_buf_pos = b->yy_ch_buf = base;
  3591. | b->yy_is_our_buffer = 0;
  3592. | b->yy_input_file = 0;
  3593. | b->yy_n_chars = b->yy_buf_size;
  3594. | b->yy_is_interactive = 0;
  3595. | b->yy_at_bol = 1;
  3596. | b->yy_fill_buffer = 0;
  3597. | b->yy_buffer_status = YY_BUFFER_NEW;
  3598. |
  3599. | yy_switch_to_buffer(b );
  3600. |
  3601. | return b;
  3602. | }
  3603. |
  3604. | /** Setup the input buffer state to scan a string. The next call to yylex() will
  3605. | * scan from a @e copy of @a str.
  3606. | * @param yystr a NUL-terminated string to scan
  3607. | *
  3608. | * @return the newly allocated buffer state object.
  3609. | * @note If you want to scan bytes that may contain NUL values, then use
  3610. | * yy_scan_bytes() instead.
  3611. | */
  3612. | YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  3613. | {
  3614. |
  3615. | return yy_scan_bytes(yystr,strlen(yystr) );
  3616. | }
  3617. |
  3618. | /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  3619. | * scan from a @e copy of @a bytes.
  3620. | * @param yybytes the byte buffer to scan
  3621. | * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
  3622. | *
  3623. | * @return the newly allocated buffer state object.
  3624. | */
  3625. | YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
  3626. | {
  3627. | YY_BUFFER_STATE b;
  3628. | char *buf;
  3629. | yy_size_t n;
  3630. | yy_size_t i;
  3631. |
  3632. | /* Get memory for full buffer, including space for trailing EOB's. */
  3633. | n = _yybytes_len + 2;
  3634. | buf = (char *) yyalloc(n );
  3635. | if ( ! buf )
  3636. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
  3637. |
  3638. | for ( i = 0; i < _yybytes_len; ++i )
  3639. | buf[i] = yybytes[i];
  3640. |
  3641. | buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
  3642. |
  3643. | b = yy_scan_buffer(buf,n );
  3644. | if ( ! b )
  3645. | YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
  3646. |
  3647. | /* It's okay to grow etc. this buffer, and we should throw it
  3648. | * away when we're done.
  3649. | */
  3650. | b->yy_is_our_buffer = 1;
  3651. |
  3652. | return b;
  3653. | }
  3654. |
  3655. | #ifndef YY_EXIT_FAILURE
  3656. | #define YY_EXIT_FAILURE 2
  3657. | #endif
  3658. |
  3659. | static void yy_fatal_error (yyconst char* msg )
  3660. | {
  3661. | (void) fprintf( stderr, "%s\n", msg );
  3662. | exit( YY_EXIT_FAILURE );
  3663. | }
  3664. |
  3665. | /* Redefine yyless() so it works in section 3 code. */
  3666. |
  3667. | #undef yyless
  3668. | #define yyless(n) \
  3669. | do \
  3670. | { \
  3671. | /* Undo effects of setting up yytext. */ \
  3672. | int yyless_macro_arg = (n); \
  3673. | YY_LESS_LINENO(yyless_macro_arg);\
  3674. | yytext[yyleng] = (yy_hold_char); \
  3675. | (yy_c_buf_p) = yytext + yyless_macro_arg; \
  3676. | (yy_hold_char) = *(yy_c_buf_p); \
  3677. | *(yy_c_buf_p) = '\0'; \
  3678. | yyleng = yyless_macro_arg; \
  3679. | } \
  3680. | while ( 0 )
  3681. |
  3682. | /* Accessor methods (get/set functions) to struct members. */
  3683. |
  3684. | /** Get the current line number.
  3685. | *
  3686. | */
  3687. | int yyget_lineno (void)
  3688. | {
  3689. |
  3690. | return yylineno;
  3691. | }
  3692. |
  3693. | /** Get the input stream.
  3694. | *
  3695. | */
  3696. | FILE *yyget_in (void)
  3697. | {
  3698. | return yyin;
  3699. | }
  3700. |
  3701. | /** Get the output stream.
  3702. | *
  3703. | */
  3704. | FILE *yyget_out (void)
  3705. | {
  3706. | return yyout;
  3707. | }
  3708. |
  3709. | /** Get the length of the current token.
  3710. | *
  3711. | */
  3712. | yy_size_t yyget_leng (void)
  3713. | {
  3714. | return yyleng;
  3715. | }
  3716. |
  3717. | /** Get the current token.
  3718. | *
  3719. | */
  3720. |
  3721. | char *yyget_text (void)
  3722. | {
  3723. | return yytext;
  3724. | }
  3725. |
  3726. | /** Set the current line number.
  3727. | * @param _line_number line number
  3728. | *
  3729. | */
  3730. | void yyset_lineno (int _line_number )
  3731. | {
  3732. |
  3733. | yylineno = _line_number;
  3734. | }
  3735. |
  3736. | /** Set the input stream. This does not discard the current
  3737. | * input buffer.
  3738. | * @param _in_str A readable stream.
  3739. | *
  3740. | * @see yy_switch_to_buffer
  3741. | */
  3742. | void yyset_in (FILE * _in_str )
  3743. | {
  3744. | yyin = _in_str ;
  3745. | }
  3746. |
  3747. | void yyset_out (FILE * _out_str )
  3748. | {
  3749. | yyout = _out_str ;
  3750. | }
  3751. |
  3752. | int yyget_debug (void)
  3753. | {
  3754. | return yy_flex_debug;
  3755. | }
  3756. |
  3757. | void yyset_debug (int _bdebug )
  3758. | {
  3759. | yy_flex_debug = _bdebug ;
  3760. | }
  3761. |
  3762. | static int yy_init_globals (void)
  3763. | {
  3764. | /* Initialization is the same as for the non-reentrant scanner.
  3765. | * This function is called from yylex_destroy(), so don't allocate here.
  3766. | */
  3767. |
  3768. | (yy_buffer_stack) = 0;
  3769. | (yy_buffer_stack_top) = 0;
  3770. | (yy_buffer_stack_max) = 0;
  3771. | (yy_c_buf_p) = (char *) 0;
  3772. | (yy_init) = 0;
  3773. | (yy_start) = 0;
  3774. |
  3775. | (yy_state_buf) = 0;
  3776. | (yy_state_ptr) = 0;
  3777. | (yy_full_match) = 0;
  3778. | (yy_lp) = 0;
  3779. |
  3780. | /* Defined in main.c */
  3781. | #ifdef YY_STDINIT
  3782. | yyin = stdin;
  3783. | yyout = stdout;
  3784. | #else
  3785. | yyin = (FILE *) 0;
  3786. | yyout = (FILE *) 0;
  3787. | #endif
  3788. |
  3789. | /* For future reference: Set errno on error, since we are called by
  3790. | * yylex_init()
  3791. | */
  3792. | return 0;
  3793. | }
  3794. |
  3795. | /* yylex_destroy is for both reentrant and non-reentrant scanners. */
  3796. | int yylex_destroy (void)
  3797. | {
  3798. |
  3799. | /* Pop the buffer stack, destroying each element. */
  3800. | while(YY_CURRENT_BUFFER){
  3801. | yy_delete_buffer(YY_CURRENT_BUFFER );
  3802. | YY_CURRENT_BUFFER_LVALUE = NULL;
  3803. | yypop_buffer_state();
  3804. | }
  3805. |
  3806. | /* Destroy the stack itself. */
  3807. | yyfree((yy_buffer_stack) );
  3808. | (yy_buffer_stack) = NULL;
  3809. |
  3810. | yyfree ( (yy_state_buf) );
  3811. | (yy_state_buf) = NULL;
  3812. |
  3813. | /* Reset the globals. This is important in a non-reentrant scanner so the next time
  3814. | * yylex() is called, initialization will occur. */
  3815. | yy_init_globals( );
  3816. |
  3817. | return 0;
  3818. | }
  3819. |
  3820. | /*
  3821. | * Internal utility routines.
  3822. | */
  3823. |
  3824. | #ifndef yytext_ptr
  3825. | static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
  3826. | {
  3827. |
  3828. | int i;
  3829. | for ( i = 0; i < n; ++i )
  3830. | s1[i] = s2[i];
  3831. | }
  3832. | #endif
  3833. |
  3834. | #ifdef YY_NEED_STRLEN
  3835. | static int yy_flex_strlen (yyconst char * s )
  3836. | {
  3837. | int n;
  3838. | for ( n = 0; s[n]; ++n )
  3839. | ;
  3840. |
  3841. | return n;
  3842. | }
  3843. | #endif
  3844. |
  3845. | void *yyalloc (yy_size_t size )
  3846. | {
  3847. | return (void *) malloc( size );
  3848. | }
  3849. |
  3850. | void *yyrealloc (void * ptr, yy_size_t size )
  3851. | {
  3852. |
  3853. | /* The cast to (char *) in the following accommodates both
  3854. | * implementations that use char* generic pointers, and those
  3855. | * that use void* generic pointers. It works with the latter
  3856. | * because both ANSI C and C++ allow castless assignment from
  3857. | * any pointer type to void*, and deal with argument conversions
  3858. | * as though doing an assignment.
  3859. | */
  3860. | return (void *) realloc( (char *) ptr, size );
  3861. | }
  3862. |
  3863. | void yyfree (void * ptr )
  3864. | {
  3865. | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
  3866. | }
  3867. |
  3868. | #define YYTABLES_NAME "yytables"
  3869. |
  3870. | #line 10 "conftest.l"
  3871. |
  3872. |
  3873. | #ifdef YYTEXT_POINTER
  3874. | extern char *yytext;
  3875. | #endif
  3876. | int
  3877. | main (void)
  3878. | {
  3879. | return ! yylex () + ! yywrap ();
  3880. | }
  3881. configure:4055: g++ -o conftest -std=c++11 -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -ll >&5
  3882. conftest.l: In function 'int yylex()':
  3883. conftest.l:7:21: error: 'input' was not declared in this scope
  3884. yyless ((input () != 0)); }
  3885. ^
  3886. lex.yy.c:185:33: note: in definition of macro 'yyless'
  3887. int yyless_macro_arg = (n); \
  3888. ^
  3889. configure:4055: $? = 1
  3890. configure: failed program was:
  3891. | /* confdefs.h */
  3892. | #define PACKAGE_NAME ""
  3893. | #define PACKAGE_TARNAME ""
  3894. | #define PACKAGE_VERSION ""
  3895. | #define PACKAGE_STRING ""
  3896. | #define PACKAGE_BUGREPORT ""
  3897. | #define PACKAGE_URL ""
  3898. | #define HAVE_SWAPCONTEXT 1
  3899. | /* end confdefs.h. */
  3900. |
  3901. | #line 3 "lex.yy.c"
  3902. |
  3903. | #define YY_INT_ALIGNED short int
  3904. |
  3905. | /* A lexical scanner generated by flex */
  3906. |
  3907. | #define FLEX_SCANNER
  3908. | #define YY_FLEX_MAJOR_VERSION 2
  3909. | #define YY_FLEX_MINOR_VERSION 6
  3910. | #define YY_FLEX_SUBMINOR_VERSION 0
  3911. | #if YY_FLEX_SUBMINOR_VERSION > 0
  3912. | #define FLEX_BETA
  3913. | #endif
  3914. |
  3915. | /* First, we deal with platform-specific or compiler-specific issues. */
  3916. |
  3917. | /* begin standard C headers. */
  3918. | #include <stdio.h>
  3919. | #include <string.h>
  3920. | #include <errno.h>
  3921. | #include <stdlib.h>
  3922. |
  3923. | /* end standard C headers. */
  3924. |
  3925. | /* flex integer type definitions */
  3926. |
  3927. | #ifndef FLEXINT_H
  3928. | #define FLEXINT_H
  3929. |
  3930. | /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
  3931. |
  3932. | #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  3933. |
  3934. | /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  3935. | * if you want the limit (max/min) macros for int types.
  3936. | */
  3937. | #ifndef __STDC_LIMIT_MACROS
  3938. | #define __STDC_LIMIT_MACROS 1
  3939. | #endif
  3940. |
  3941. | #include <inttypes.h>
  3942. | typedef int8_t flex_int8_t;
  3943. | typedef uint8_t flex_uint8_t;
  3944. | typedef int16_t flex_int16_t;
  3945. | typedef uint16_t flex_uint16_t;
  3946. | typedef int32_t flex_int32_t;
  3947. | typedef uint32_t flex_uint32_t;
  3948. | #else
  3949. | typedef signed char flex_int8_t;
  3950. | typedef short int flex_int16_t;
  3951. | typedef int flex_int32_t;
  3952. | typedef unsigned char flex_uint8_t;
  3953. | typedef unsigned short int flex_uint16_t;
  3954. | typedef unsigned int flex_uint32_t;
  3955. |
  3956. | /* Limits of integral types. */
  3957. | #ifndef INT8_MIN
  3958. | #define INT8_MIN (-128)
  3959. | #endif
  3960. | #ifndef INT16_MIN
  3961. | #define INT16_MIN (-32767-1)
  3962. | #endif
  3963. | #ifndef INT32_MIN
  3964. | #define INT32_MIN (-2147483647-1)
  3965. | #endif
  3966. | #ifndef INT8_MAX
  3967. | #define INT8_MAX (127)
  3968. | #endif
  3969. | #ifndef INT16_MAX
  3970. | #define INT16_MAX (32767)
  3971. | #endif
  3972. | #ifndef INT32_MAX
  3973. | #define INT32_MAX (2147483647)
  3974. | #endif
  3975. | #ifndef UINT8_MAX
  3976. | #define UINT8_MAX (255U)
  3977. | #endif
  3978. | #ifndef UINT16_MAX
  3979. | #define UINT16_MAX (65535U)
  3980. | #endif
  3981. | #ifndef UINT32_MAX
  3982. | #define UINT32_MAX (4294967295U)
  3983. | #endif
  3984. |
  3985. | #endif /* ! C99 */
  3986. |
  3987. | #endif /* ! FLEXINT_H */
  3988. |
  3989. | #ifdef __cplusplus
  3990. |
  3991. | /* The "const" storage-class-modifier is valid. */
  3992. | #define YY_USE_CONST
  3993. |
  3994. | #else /* ! __cplusplus */
  3995. |
  3996. | /* C99 requires __STDC__ to be defined as 1. */
  3997. | #if defined (__STDC__)
  3998. |
  3999. | #define YY_USE_CONST
  4000. |
  4001. | #endif /* defined (__STDC__) */
  4002. | #endif /* ! __cplusplus */
  4003. |
  4004. | #ifdef YY_USE_CONST
  4005. | #define yyconst const
  4006. | #else
  4007. | #define yyconst
  4008. | #endif
  4009. |
  4010. | /* Returned upon end-of-file. */
  4011. | #define YY_NULL 0
  4012. |
  4013. | /* Promotes a possibly negative, possibly signed char to an unsigned
  4014. | * integer for use as an array index. If the signed char is negative,
  4015. | * we want to instead treat it as an 8-bit unsigned char, hence the
  4016. | * double cast.
  4017. | */
  4018. | #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  4019. |
  4020. | /* Enter a start condition. This macro really ought to take a parameter,
  4021. | * but we do it the disgusting crufty way forced on us by the ()-less
  4022. | * definition of BEGIN.
  4023. | */
  4024. | #define BEGIN (yy_start) = 1 + 2 *
  4025. |
  4026. | /* Translate the current start state into a value that can be later handed
  4027. | * to BEGIN to return to the state. The YYSTATE alias is for lex
  4028. | * compatibility.
  4029. | */
  4030. | #define YY_START (((yy_start) - 1) / 2)
  4031. | #define YYSTATE YY_START
  4032. |
  4033. | /* Action number for EOF rule of a given start state. */
  4034. | #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  4035. |
  4036. | /* Special action meaning "start processing a new file". */
  4037. | #define YY_NEW_FILE yyrestart(yyin )
  4038. |
  4039. | #define YY_END_OF_BUFFER_CHAR 0
  4040. |
  4041. | /* Size of default input buffer. */
  4042. | #ifndef YY_BUF_SIZE
  4043. | #ifdef __ia64__
  4044. | /* On IA-64, the buffer size is 16k, not 8k.
  4045. | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
  4046. | * Ditto for the __ia64__ case accordingly.
  4047. | */
  4048. | #define YY_BUF_SIZE 32768
  4049. | #else
  4050. | #define YY_BUF_SIZE 16384
  4051. | #endif /* __ia64__ */
  4052. | #endif
  4053. |
  4054. | /* The state buf must be large enough to hold one state per character in the main buffer.
  4055. | */
  4056. | #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
  4057. |
  4058. | #ifndef YY_TYPEDEF_YY_BUFFER_STATE
  4059. | #define YY_TYPEDEF_YY_BUFFER_STATE
  4060. | typedef struct yy_buffer_state *YY_BUFFER_STATE;
  4061. | #endif
  4062. |
  4063. | #ifndef YY_TYPEDEF_YY_SIZE_T
  4064. | #define YY_TYPEDEF_YY_SIZE_T
  4065. | typedef size_t yy_size_t;
  4066. | #endif
  4067. |
  4068. | extern yy_size_t yyleng;
  4069. |
  4070. | extern FILE *yyin, *yyout;
  4071. |
  4072. | #define EOB_ACT_CONTINUE_SCAN 0
  4073. | #define EOB_ACT_END_OF_FILE 1
  4074. | #define EOB_ACT_LAST_MATCH 2
  4075. |
  4076. | #define YY_LESS_LINENO(n)
  4077. | #define YY_LINENO_REWIND_TO(ptr)
  4078. |
  4079. | /* Return all but the first "n" matched characters back to the input stream. */
  4080. | #define yyless(n) \
  4081. | do \
  4082. | { \
  4083. | /* Undo effects of setting up yytext. */ \
  4084. | int yyless_macro_arg = (n); \
  4085. | YY_LESS_LINENO(yyless_macro_arg);\
  4086. | *yy_cp = (yy_hold_char); \
  4087. | YY_RESTORE_YY_MORE_OFFSET \
  4088. | (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
  4089. | YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  4090. | } \
  4091. | while ( 0 )
  4092. |
  4093. | #define unput(c) yyunput( c, (yytext_ptr) )
  4094. |
  4095. | #ifndef YY_STRUCT_YY_BUFFER_STATE
  4096. | #define YY_STRUCT_YY_BUFFER_STATE
  4097. | struct yy_buffer_state
  4098. | {
  4099. | FILE *yy_input_file;
  4100. |
  4101. | char *yy_ch_buf; /* input buffer */
  4102. | char *yy_buf_pos; /* current position in input buffer */
  4103. |
  4104. | /* Size of input buffer in bytes, not including room for EOB
  4105. | * characters.
  4106. | */
  4107. | yy_size_t yy_buf_size;
  4108. |
  4109. | /* Number of characters read into yy_ch_buf, not including EOB
  4110. | * characters.
  4111. | */
  4112. | int yy_n_chars;
  4113. |
  4114. | /* Whether we "own" the buffer - i.e., we know we created it,
  4115. | * and can realloc() it to grow it, and should free() it to
  4116. | * delete it.
  4117. | */
  4118. | int yy_is_our_buffer;
  4119. |
  4120. | /* Whether this is an "interactive" input source; if so, and
  4121. | * if we're using stdio for input, then we want to use getc()
  4122. | * instead of fread(), to make sure we stop fetching input after
  4123. | * each newline.
  4124. | */
  4125. | int yy_is_interactive;
  4126. |
  4127. | /* Whether we're considered to be at the beginning of a line.
  4128. | * If so, '^' rules will be active on the next match, otherwise
  4129. | * not.
  4130. | */
  4131. | int yy_at_bol;
  4132. |
  4133. | int yy_bs_lineno; /**< The line count. */
  4134. | int yy_bs_column; /**< The column count. */
  4135. |
  4136. | /* Whether to try to fill the input buffer when we reach the
  4137. | * end of it.
  4138. | */
  4139. | int yy_fill_buffer;
  4140. |
  4141. | int yy_buffer_status;
  4142. |
  4143. | #define YY_BUFFER_NEW 0
  4144. | #define YY_BUFFER_NORMAL 1
  4145. | /* When an EOF's been seen but there's still some text to process
  4146. | * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  4147. | * shouldn't try reading from the input source any more. We might
  4148. | * still have a bunch of tokens to match, though, because of
  4149. | * possible backing-up.
  4150. | *
  4151. | * When we actually see the EOF, we change the status to "new"
  4152. | * (via yyrestart()), so that the user can continue scanning by
  4153. | * just pointing yyin at a new input file.
  4154. | */
  4155. | #define YY_BUFFER_EOF_PENDING 2
  4156. |
  4157. | };
  4158. | #endif /* !YY_STRUCT_YY_BUFFER_STATE */
  4159. |
  4160. | /* Stack of input buffers. */
  4161. | static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
  4162. | static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
  4163. | static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
  4164. |
  4165. | /* We provide macros for accessing buffer states in case in the
  4166. | * future we want to put the buffer states in a more general
  4167. | * "scanner state".
  4168. | *
  4169. | * Returns the top of the stack, or NULL.
  4170. | */
  4171. | #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
  4172. | ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
  4173. | : NULL)
  4174. |
  4175. | /* Same as previous macro, but useful when we know that the buffer stack is not
  4176. | * NULL or when we need an lvalue. For internal use only.
  4177. | */
  4178. | #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
  4179. |
  4180. | /* yy_hold_char holds the character lost when yytext is formed. */
  4181. | static char yy_hold_char;
  4182. | static int yy_n_chars; /* number of characters read into yy_ch_buf */
  4183. | yy_size_t yyleng;
  4184. |
  4185. | /* Points to current character in buffer. */
  4186. | static char *yy_c_buf_p = (char *) 0;
  4187. | static int yy_init = 0; /* whether we need to initialize */
  4188. | static int yy_start = 0; /* start state number */
  4189. |
  4190. | /* Flag which is used to allow yywrap()'s to do buffer switches
  4191. | * instead of setting up a fresh yyin. A bit of a hack ...
  4192. | */
  4193. | static int yy_did_buffer_switch_on_eof;
  4194. |
  4195. | void yyrestart (FILE *input_file );
  4196. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
  4197. | YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
  4198. | void yy_delete_buffer (YY_BUFFER_STATE b );
  4199. | void yy_flush_buffer (YY_BUFFER_STATE b );
  4200. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
  4201. | void yypop_buffer_state (void );
  4202. |
  4203. | static void yyensure_buffer_stack (void );
  4204. | static void yy_load_buffer_state (void );
  4205. | static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
  4206. |
  4207. | #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
  4208. |
  4209. | YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
  4210. | YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
  4211. | YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
  4212. |
  4213. | void *yyalloc (yy_size_t );
  4214. | void *yyrealloc (void *,yy_size_t );
  4215. | void yyfree (void * );
  4216. |
  4217. | #define yy_new_buffer yy_create_buffer
  4218. |
  4219. | #define yy_set_interactive(is_interactive) \
  4220. | { \
  4221. | if ( ! YY_CURRENT_BUFFER ){ \
  4222. | yyensure_buffer_stack (); \
  4223. | YY_CURRENT_BUFFER_LVALUE = \
  4224. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  4225. | } \
  4226. | YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
  4227. | }
  4228. |
  4229. | #define yy_set_bol(at_bol) \
  4230. | { \
  4231. | if ( ! YY_CURRENT_BUFFER ){\
  4232. | yyensure_buffer_stack (); \
  4233. | YY_CURRENT_BUFFER_LVALUE = \
  4234. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  4235. | } \
  4236. | YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
  4237. | }
  4238. |
  4239. | #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
  4240. |
  4241. | /* Begin user sect3 */
  4242. |
  4243. | typedef unsigned char YY_CHAR;
  4244. |
  4245. | FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  4246. |
  4247. | typedef int yy_state_type;
  4248. |
  4249. | extern int yylineno;
  4250. |
  4251. | int yylineno = 1;
  4252. |
  4253. | extern char *yytext;
  4254. | #ifdef yytext_ptr
  4255. | #undef yytext_ptr
  4256. | #endif
  4257. | #define yytext_ptr yytext
  4258. |
  4259. | static yy_state_type yy_get_previous_state (void );
  4260. | static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
  4261. | static int yy_get_next_buffer (void );
  4262. | #if defined(__GNUC__) && __GNUC__ >= 3
  4263. | __attribute__((__noreturn__))
  4264. | #endif
  4265. | static void yy_fatal_error (yyconst char msg[] );
  4266. |
  4267. | /* Done after the current pattern has been matched and before the
  4268. | * corresponding action - sets up yytext.
  4269. | */
  4270. | #define YY_DO_BEFORE_ACTION \
  4271. | (yytext_ptr) = yy_bp; \
  4272. | (yytext_ptr) -= (yy_more_len); \
  4273. | yyleng = (size_t) (yy_cp - (yytext_ptr)); \
  4274. | (yy_hold_char) = *yy_cp; \
  4275. | *yy_cp = '\0'; \
  4276. | (yy_c_buf_p) = yy_cp;
  4277. |
  4278. | #define YY_NUM_RULES 8
  4279. | #define YY_END_OF_BUFFER 9
  4280. | /* This struct is not used in this scanner,
  4281. | but its presence is necessary. */
  4282. | struct yy_trans_info
  4283. | {
  4284. | flex_int32_t yy_verify;
  4285. | flex_int32_t yy_nxt;
  4286. | };
  4287. | static yyconst flex_int16_t yy_acclist[23] =
  4288. | { 0,
  4289. | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
  4290. | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
  4291. | 7, 8
  4292. | } ;
  4293. |
  4294. | static yyconst flex_int16_t yy_accept[14] =
  4295. | { 0,
  4296. | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
  4297. | 20, 23, 23
  4298. | } ;
  4299. |
  4300. | static yyconst YY_CHAR yy_ec[256] =
  4301. | { 0,
  4302. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  4303. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4304. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4305. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4306. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4307. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4308. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4309. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4310. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4311. | 1, 1, 1, 1, 1, 1, 3, 4, 5, 6,
  4312. |
  4313. | 7, 8, 1, 1, 1, 1, 1, 1, 1, 1,
  4314. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4315. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4316. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4317. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4318. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4319. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4320. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4321. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4322. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4323. |
  4324. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4325. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4326. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4327. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4328. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  4329. | 1, 1, 1, 1, 1
  4330. | } ;
  4331. |
  4332. | static yyconst YY_CHAR yy_meta[9] =
  4333. | { 0,
  4334. | 1, 1, 1, 1, 1, 1, 1, 1
  4335. | } ;
  4336. |
  4337. | static yyconst flex_uint16_t yy_base[13] =
  4338. | { 0,
  4339. | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
  4340. | 10, 10
  4341. | } ;
  4342. |
  4343. | static yyconst flex_int16_t yy_def[13] =
  4344. | { 0,
  4345. | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
  4346. | 12, 0
  4347. | } ;
  4348. |
  4349. | static yyconst flex_uint16_t yy_nxt[19] =
  4350. | { 0,
  4351. | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
  4352. | 12, 12, 12, 12, 12, 12, 12, 12
  4353. | } ;
  4354. |
  4355. | static yyconst flex_int16_t yy_chk[19] =
  4356. | { 0,
  4357. | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
  4358. | 12, 12, 12, 12, 12, 12, 12, 12
  4359. | } ;
  4360. |
  4361. | extern int yy_flex_debug;
  4362. | int yy_flex_debug = 0;
  4363. |
  4364. | static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
  4365. | static char *yy_full_match;
  4366. | static int yy_lp;
  4367. | #define REJECT \
  4368. | { \
  4369. | *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
  4370. | yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
  4371. | ++(yy_lp); \
  4372. | goto find_rule; \
  4373. | }
  4374. |
  4375. | static int yy_more_flag = 0;
  4376. | static int yy_more_len = 0;
  4377. | #define yymore() ((yy_more_flag) = 1)
  4378. | #define YY_MORE_ADJ (yy_more_len)
  4379. | #define YY_RESTORE_YY_MORE_OFFSET
  4380. | char *yytext;
  4381. | #line 1 "conftest.l"
  4382. | #line 484 "lex.yy.c"
  4383. |
  4384. | #define INITIAL 0
  4385. |
  4386. | #ifndef YY_NO_UNISTD_H
  4387. | /* Special case for "unistd.h", since it is non-ANSI. We include it way
  4388. | * down here because we want the user's section 1 to have been scanned first.
  4389. | * The user has a chance to override it with an option.
  4390. | */
  4391. | #include <unistd.h>
  4392. | #endif
  4393. |
  4394. | #ifndef YY_EXTRA_TYPE
  4395. | #define YY_EXTRA_TYPE void *
  4396. | #endif
  4397. |
  4398. | static int yy_init_globals (void );
  4399. |
  4400. | /* Accessor methods to globals.
  4401. | These are made visible to non-reentrant scanners for convenience. */
  4402. |
  4403. | int yylex_destroy (void );
  4404. |
  4405. | int yyget_debug (void );
  4406. |
  4407. | void yyset_debug (int debug_flag );
  4408. |
  4409. | YY_EXTRA_TYPE yyget_extra (void );
  4410. |
  4411. | void yyset_extra (YY_EXTRA_TYPE user_defined );
  4412. |
  4413. | FILE *yyget_in (void );
  4414. |
  4415. | void yyset_in (FILE * _in_str );
  4416. |
  4417. | FILE *yyget_out (void );
  4418. |
  4419. | void yyset_out (FILE * _out_str );
  4420. |
  4421. | yy_size_t yyget_leng (void );
  4422. |
  4423. | char *yyget_text (void );
  4424. |
  4425. | int yyget_lineno (void );
  4426. |
  4427. | void yyset_lineno (int _line_number );
  4428. |
  4429. | /* Macros after this point can all be overridden by user definitions in
  4430. | * section 1.
  4431. | */
  4432. |
  4433. | #ifndef YY_SKIP_YYWRAP
  4434. | #ifdef __cplusplus
  4435. | extern "C" int yywrap (void );
  4436. | #else
  4437. | extern int yywrap (void );
  4438. | #endif
  4439. | #endif
  4440. |
  4441. | #ifndef YY_NO_UNPUT
  4442. |
  4443. | static void yyunput (int c,char *buf_ptr );
  4444. |
  4445. | #endif
  4446. |
  4447. | #ifndef yytext_ptr
  4448. | static void yy_flex_strncpy (char *,yyconst char *,int );
  4449. | #endif
  4450. |
  4451. | #ifdef YY_NEED_STRLEN
  4452. | static int yy_flex_strlen (yyconst char * );
  4453. | #endif
  4454. |
  4455. | #ifndef YY_NO_INPUT
  4456. |
  4457. | #ifdef __cplusplus
  4458. | static int yyinput (void );
  4459. | #else
  4460. | static int input (void );
  4461. | #endif
  4462. |
  4463. | #endif
  4464. |
  4465. | /* Amount of stuff to slurp up with each read. */
  4466. | #ifndef YY_READ_BUF_SIZE
  4467. | #ifdef __ia64__
  4468. | /* On IA-64, the buffer size is 16k, not 8k */
  4469. | #define YY_READ_BUF_SIZE 16384
  4470. | #else
  4471. | #define YY_READ_BUF_SIZE 8192
  4472. | #endif /* __ia64__ */
  4473. | #endif
  4474. |
  4475. | /* Copy whatever the last rule matched to the standard output. */
  4476. | #ifndef ECHO
  4477. | /* This used to be an fputs(), but since the string might contain NUL's,
  4478. | * we now use fwrite().
  4479. | */
  4480. | #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
  4481. | #endif
  4482. |
  4483. | /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
  4484. | * is returned in "result".
  4485. | */
  4486. | #ifndef YY_INPUT
  4487. | #define YY_INPUT(buf,result,max_size) \
  4488. | if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
  4489. | { \
  4490. | int c = '*'; \
  4491. | size_t n; \
  4492. | for ( n = 0; n < max_size && \
  4493. | (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
  4494. | buf[n] = (char) c; \
  4495. | if ( c == '\n' ) \
  4496. | buf[n++] = (char) c; \
  4497. | if ( c == EOF && ferror( yyin ) ) \
  4498. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  4499. | result = n; \
  4500. | } \
  4501. | else \
  4502. | { \
  4503. | errno=0; \
  4504. | while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
  4505. | { \
  4506. | if( errno != EINTR) \
  4507. | { \
  4508. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  4509. | break; \
  4510. | } \
  4511. | errno=0; \
  4512. | clearerr(yyin); \
  4513. | } \
  4514. | }\
  4515. | \
  4516. |
  4517. | #endif
  4518. |
  4519. | /* No semi-colon after return; correct usage is to write "yyterminate();" -
  4520. | * we don't want an extra ';' after the "return" because that will cause
  4521. | * some compilers to complain about unreachable statements.
  4522. | */
  4523. | #ifndef yyterminate
  4524. | #define yyterminate() return YY_NULL
  4525. | #endif
  4526. |
  4527. | /* Number of entries by which start-condition stack grows. */
  4528. | #ifndef YY_START_STACK_INCR
  4529. | #define YY_START_STACK_INCR 25
  4530. | #endif
  4531. |
  4532. | /* Report a fatal error. */
  4533. | #ifndef YY_FATAL_ERROR
  4534. | #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  4535. | #endif
  4536. |
  4537. | /* end tables serialization structures and prototypes */
  4538. |
  4539. | /* Default declaration of generated scanner - a define so the user can
  4540. | * easily add parameters.
  4541. | */
  4542. | #ifndef YY_DECL
  4543. | #define YY_DECL_IS_OURS 1
  4544. |
  4545. | extern int yylex (void);
  4546. |
  4547. | #define YY_DECL int yylex (void)
  4548. | #endif /* !YY_DECL */
  4549. |
  4550. | /* Code executed at the beginning of each rule, after yytext and yyleng
  4551. | * have been set up.
  4552. | */
  4553. | #ifndef YY_USER_ACTION
  4554. | #define YY_USER_ACTION
  4555. | #endif
  4556. |
  4557. | /* Code executed at the end of each rule. */
  4558. | #ifndef YY_BREAK
  4559. | #define YY_BREAK /*LINTED*/break;
  4560. | #endif
  4561. |
  4562. | #define YY_RULE_SETUP \
  4563. | YY_USER_ACTION
  4564. |
  4565. | /** The main scanner function which does all the work.
  4566. | */
  4567. | YY_DECL
  4568. | {
  4569. | yy_state_type yy_current_state;
  4570. | char *yy_cp, *yy_bp;
  4571. | int yy_act;
  4572. |
  4573. | if ( !(yy_init) )
  4574. | {
  4575. | (yy_init) = 1;
  4576. |
  4577. | #ifdef YY_USER_INIT
  4578. | YY_USER_INIT;
  4579. | #endif
  4580. |
  4581. | /* Create the reject buffer large enough to save one state per allowed character. */
  4582. | if ( ! (yy_state_buf) )
  4583. | (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE );
  4584. | if ( ! (yy_state_buf) )
  4585. | YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
  4586. |
  4587. | if ( ! (yy_start) )
  4588. | (yy_start) = 1; /* first start state */
  4589. |
  4590. | if ( ! yyin )
  4591. | yyin = stdin;
  4592. |
  4593. | if ( ! yyout )
  4594. | yyout = stdout;
  4595. |
  4596. | if ( ! YY_CURRENT_BUFFER ) {
  4597. | yyensure_buffer_stack ();
  4598. | YY_CURRENT_BUFFER_LVALUE =
  4599. | yy_create_buffer(yyin,YY_BUF_SIZE );
  4600. | }
  4601. |
  4602. | yy_load_buffer_state( );
  4603. | }
  4604. |
  4605. | {
  4606. | #line 1 "conftest.l"
  4607. |
  4608. | #line 710 "lex.yy.c"
  4609. |
  4610. | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
  4611. | {
  4612. | (yy_more_len) = 0;
  4613. | if ( (yy_more_flag) )
  4614. | {
  4615. | (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
  4616. | (yy_more_flag) = 0;
  4617. | }
  4618. | yy_cp = (yy_c_buf_p);
  4619. |
  4620. | /* Support of yytext. */
  4621. | *yy_cp = (yy_hold_char);
  4622. |
  4623. | /* yy_bp points to the position in yy_ch_buf of the start of
  4624. | * the current run.
  4625. | */
  4626. | yy_bp = yy_cp;
  4627. |
  4628. | yy_current_state = (yy_start);
  4629. |
  4630. | (yy_state_ptr) = (yy_state_buf);
  4631. | *(yy_state_ptr)++ = yy_current_state;
  4632. |
  4633. | yy_match:
  4634. | do
  4635. | {
  4636. | YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
  4637. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  4638. | {
  4639. | yy_current_state = (int) yy_def[yy_current_state];
  4640. | if ( yy_current_state >= 13 )
  4641. | yy_c = yy_meta[(unsigned int) yy_c];
  4642. | }
  4643. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  4644. | *(yy_state_ptr)++ = yy_current_state;
  4645. | ++yy_cp;
  4646. | }
  4647. | while ( yy_base[yy_current_state] != 10 );
  4648. |
  4649. | yy_find_action:
  4650. | yy_current_state = *--(yy_state_ptr);
  4651. | (yy_lp) = yy_accept[yy_current_state];
  4652. | find_rule: /* we branch to this label when backing up */
  4653. | for ( ; ; ) /* until we find what rule we matched */
  4654. | {
  4655. | if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
  4656. | {
  4657. | yy_act = yy_acclist[(yy_lp)];
  4658. | {
  4659. | (yy_full_match) = yy_cp;
  4660. | break;
  4661. | }
  4662. | }
  4663. | --yy_cp;
  4664. | yy_current_state = *--(yy_state_ptr);
  4665. | (yy_lp) = yy_accept[yy_current_state];
  4666. | }
  4667. |
  4668. | YY_DO_BEFORE_ACTION;
  4669. |
  4670. | do_action: /* This label is used only to access EOF actions. */
  4671. |
  4672. | switch ( yy_act )
  4673. | { /* beginning of action switch */
  4674. | case 1:
  4675. | YY_RULE_SETUP
  4676. | #line 2 "conftest.l"
  4677. | { ECHO; }
  4678. | YY_BREAK
  4679. | case 2:
  4680. | YY_RULE_SETUP
  4681. | #line 3 "conftest.l"
  4682. | { REJECT; }
  4683. | YY_BREAK
  4684. | case 3:
  4685. | YY_RULE_SETUP
  4686. | #line 4 "conftest.l"
  4687. | { yymore (); }
  4688. | YY_BREAK
  4689. | case 4:
  4690. | YY_RULE_SETUP
  4691. | #line 5 "conftest.l"
  4692. | { yyless (1); }
  4693. | YY_BREAK
  4694. | case 5:
  4695. | YY_RULE_SETUP
  4696. | #line 6 "conftest.l"
  4697. | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
  4698. | yyless ((input () != 0)); }
  4699. | YY_BREAK
  4700. | case 6:
  4701. | YY_RULE_SETUP
  4702. | #line 8 "conftest.l"
  4703. | { unput (yytext[0]); }
  4704. | YY_BREAK
  4705. | case 7:
  4706. | YY_RULE_SETUP
  4707. | #line 9 "conftest.l"
  4708. | { BEGIN INITIAL; }
  4709. | YY_BREAK
  4710. | case 8:
  4711. | YY_RULE_SETUP
  4712. | #line 10 "conftest.l"
  4713. | ECHO;
  4714. | YY_BREAK
  4715. | #line 817 "lex.yy.c"
  4716. | case YY_STATE_EOF(INITIAL):
  4717. | yyterminate();
  4718. |
  4719. | case YY_END_OF_BUFFER:
  4720. | {
  4721. | /* Amount of text matched not including the EOB char. */
  4722. | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
  4723. |
  4724. | /* Undo the effects of YY_DO_BEFORE_ACTION. */
  4725. | *yy_cp = (yy_hold_char);
  4726. | YY_RESTORE_YY_MORE_OFFSET
  4727. |
  4728. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
  4729. | {
  4730. | /* We're scanning a new file or input source. It's
  4731. | * possible that this happened because the user
  4732. | * just pointed yyin at a new source and called
  4733. | * yylex(). If so, then we have to assure
  4734. | * consistency between YY_CURRENT_BUFFER and our
  4735. | * globals. Here is the right place to do so, because
  4736. | * this is the first action (other than possibly a
  4737. | * back-up) that will match for the new input source.
  4738. | */
  4739. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  4740. | YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
  4741. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
  4742. | }
  4743. |
  4744. | /* Note that here we test for yy_c_buf_p "<=" to the position
  4745. | * of the first EOB in the buffer, since yy_c_buf_p will
  4746. | * already have been incremented past the NUL character
  4747. | * (since all states make transitions on EOB to the
  4748. | * end-of-buffer state). Contrast this with the test
  4749. | * in input().
  4750. | */
  4751. | if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  4752. | { /* This was really a NUL. */
  4753. | yy_state_type yy_next_state;
  4754. |
  4755. | (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
  4756. |
  4757. | yy_current_state = yy_get_previous_state( );
  4758. |
  4759. | /* Okay, we're now positioned to make the NUL
  4760. | * transition. We couldn't have
  4761. | * yy_get_previous_state() go ahead and do it
  4762. | * for us because it doesn't know how to deal
  4763. | * with the possibility of jamming (and we don't
  4764. | * want to build jamming into it because then it
  4765. | * will run more slowly).
  4766. | */
  4767. |
  4768. | yy_next_state = yy_try_NUL_trans( yy_current_state );
  4769. |
  4770. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  4771. |
  4772. | if ( yy_next_state )
  4773. | {
  4774. | /* Consume the NUL. */
  4775. | yy_cp = ++(yy_c_buf_p);
  4776. | yy_current_state = yy_next_state;
  4777. | goto yy_match;
  4778. | }
  4779. |
  4780. | else
  4781. | {
  4782. | yy_cp = (yy_c_buf_p);
  4783. | goto yy_find_action;
  4784. | }
  4785. | }
  4786. |
  4787. | else switch ( yy_get_next_buffer( ) )
  4788. | {
  4789. | case EOB_ACT_END_OF_FILE:
  4790. | {
  4791. | (yy_did_buffer_switch_on_eof) = 0;
  4792. |
  4793. | if ( yywrap( ) )
  4794. | {
  4795. | /* Note: because we've taken care in
  4796. | * yy_get_next_buffer() to have set up
  4797. | * yytext, we can now set up
  4798. | * yy_c_buf_p so that if some total
  4799. | * hoser (like flex itself) wants to
  4800. | * call the scanner after we return the
  4801. | * YY_NULL, it'll still work - another
  4802. | * YY_NULL will get returned.
  4803. | */
  4804. | (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
  4805. |
  4806. | yy_act = YY_STATE_EOF(YY_START);
  4807. | goto do_action;
  4808. | }
  4809. |
  4810. | else
  4811. | {
  4812. | if ( ! (yy_did_buffer_switch_on_eof) )
  4813. | YY_NEW_FILE;
  4814. | }
  4815. | break;
  4816. | }
  4817. |
  4818. | case EOB_ACT_CONTINUE_SCAN:
  4819. | (yy_c_buf_p) =
  4820. | (yytext_ptr) + yy_amount_of_matched_text;
  4821. |
  4822. | yy_current_state = yy_get_previous_state( );
  4823. |
  4824. | yy_cp = (yy_c_buf_p);
  4825. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  4826. | goto yy_match;
  4827. |
  4828. | case EOB_ACT_LAST_MATCH:
  4829. | (yy_c_buf_p) =
  4830. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
  4831. |
  4832. | yy_current_state = yy_get_previous_state( );
  4833. |
  4834. | yy_cp = (yy_c_buf_p);
  4835. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  4836. | goto yy_find_action;
  4837. | }
  4838. | break;
  4839. | }
  4840. |
  4841. | default:
  4842. | YY_FATAL_ERROR(
  4843. | "fatal flex scanner internal error--no action found" );
  4844. | } /* end of action switch */
  4845. | } /* end of scanning one token */
  4846. | } /* end of user's declarations */
  4847. | } /* end of yylex */
  4848. |
  4849. | /* yy_get_next_buffer - try to read in a new buffer
  4850. | *
  4851. | * Returns a code representing an action:
  4852. | * EOB_ACT_LAST_MATCH -
  4853. | * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  4854. | * EOB_ACT_END_OF_FILE - end of file
  4855. | */
  4856. | static int yy_get_next_buffer (void)
  4857. | {
  4858. | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
  4859. | char *source = (yytext_ptr);
  4860. | yy_size_t number_to_move, i;
  4861. | int ret_val;
  4862. |
  4863. | if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
  4864. | YY_FATAL_ERROR(
  4865. | "fatal flex scanner internal error--end of buffer missed" );
  4866. |
  4867. | if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
  4868. | { /* Don't try to fill the buffer, so this is an EOF. */
  4869. | if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
  4870. | {
  4871. | /* We matched a single character, the EOB, so
  4872. | * treat this as a final EOF.
  4873. | */
  4874. | return EOB_ACT_END_OF_FILE;
  4875. | }
  4876. |
  4877. | else
  4878. | {
  4879. | /* We matched some text prior to the EOB, first
  4880. | * process it.
  4881. | */
  4882. | return EOB_ACT_LAST_MATCH;
  4883. | }
  4884. | }
  4885. |
  4886. | /* Try to read more data. */
  4887. |
  4888. | /* First move last chars to start of buffer. */
  4889. | number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
  4890. |
  4891. | for ( i = 0; i < number_to_move; ++i )
  4892. | *(dest++) = *(source++);
  4893. |
  4894. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  4895. | /* don't do the read, it's not guaranteed to return an EOF,
  4896. | * just force an EOF
  4897. | */
  4898. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
  4899. |
  4900. | else
  4901. | {
  4902. | yy_size_t num_to_read =
  4903. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
  4904. |
  4905. | while ( num_to_read <= 0 )
  4906. | { /* Not enough room in the buffer - grow it. */
  4907. |
  4908. | YY_FATAL_ERROR(
  4909. | "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  4910. |
  4911. | }
  4912. |
  4913. | if ( num_to_read > YY_READ_BUF_SIZE )
  4914. | num_to_read = YY_READ_BUF_SIZE;
  4915. |
  4916. | /* Read in more data. */
  4917. | YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
  4918. | (yy_n_chars), num_to_read );
  4919. |
  4920. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  4921. | }
  4922. |
  4923. | if ( (yy_n_chars) == 0 )
  4924. | {
  4925. | if ( number_to_move == YY_MORE_ADJ )
  4926. | {
  4927. | ret_val = EOB_ACT_END_OF_FILE;
  4928. | yyrestart(yyin );
  4929. | }
  4930. |
  4931. | else
  4932. | {
  4933. | ret_val = EOB_ACT_LAST_MATCH;
  4934. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
  4935. | YY_BUFFER_EOF_PENDING;
  4936. | }
  4937. | }
  4938. |
  4939. | else
  4940. | ret_val = EOB_ACT_CONTINUE_SCAN;
  4941. |
  4942. | if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
  4943. | /* Extend the array by 50%, plus the number we really need. */
  4944. | int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
  4945. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
  4946. | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  4947. | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
  4948. | }
  4949. |
  4950. | (yy_n_chars) += number_to_move;
  4951. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
  4952. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
  4953. |
  4954. | (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
  4955. |
  4956. | return ret_val;
  4957. | }
  4958. |
  4959. | /* yy_get_previous_state - get the state just before the EOB char was reached */
  4960. |
  4961. | static yy_state_type yy_get_previous_state (void)
  4962. | {
  4963. | yy_state_type yy_current_state;
  4964. | char *yy_cp;
  4965. |
  4966. | yy_current_state = (yy_start);
  4967. |
  4968. | (yy_state_ptr) = (yy_state_buf);
  4969. | *(yy_state_ptr)++ = yy_current_state;
  4970. |
  4971. | for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
  4972. | {
  4973. | YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  4974. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  4975. | {
  4976. | yy_current_state = (int) yy_def[yy_current_state];
  4977. | if ( yy_current_state >= 13 )
  4978. | yy_c = yy_meta[(unsigned int) yy_c];
  4979. | }
  4980. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  4981. | *(yy_state_ptr)++ = yy_current_state;
  4982. | }
  4983. |
  4984. | return yy_current_state;
  4985. | }
  4986. |
  4987. | /* yy_try_NUL_trans - try to make a transition on the NUL character
  4988. | *
  4989. | * synopsis
  4990. | * next_state = yy_try_NUL_trans( current_state );
  4991. | */
  4992. | static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
  4993. | {
  4994. | int yy_is_jam;
  4995. |
  4996. | YY_CHAR yy_c = 1;
  4997. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  4998. | {
  4999. | yy_current_state = (int) yy_def[yy_current_state];
  5000. | if ( yy_current_state >= 13 )
  5001. | yy_c = yy_meta[(unsigned int) yy_c];
  5002. | }
  5003. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  5004. | yy_is_jam = (yy_current_state == 12);
  5005. | if ( ! yy_is_jam )
  5006. | *(yy_state_ptr)++ = yy_current_state;
  5007. |
  5008. | return yy_is_jam ? 0 : yy_current_state;
  5009. | }
  5010. |
  5011. | #ifndef YY_NO_UNPUT
  5012. |
  5013. | static void yyunput (int c, char * yy_bp )
  5014. | {
  5015. | char *yy_cp;
  5016. |
  5017. | yy_cp = (yy_c_buf_p);
  5018. |
  5019. | /* undo effects of setting up yytext */
  5020. | *yy_cp = (yy_hold_char);
  5021. |
  5022. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  5023. | { /* need to shift things up to make room */
  5024. | /* +2 for EOB chars. */
  5025. | yy_size_t number_to_move = (yy_n_chars) + 2;
  5026. | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
  5027. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
  5028. | char *source =
  5029. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
  5030. |
  5031. | while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  5032. | *--dest = *--source;
  5033. |
  5034. | yy_cp += (int) (dest - source);
  5035. | yy_bp += (int) (dest - source);
  5036. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
  5037. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
  5038. |
  5039. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  5040. | YY_FATAL_ERROR( "flex scanner push-back overflow" );
  5041. | }
  5042. |
  5043. | *--yy_cp = (char) c;
  5044. |
  5045. | (yytext_ptr) = yy_bp;
  5046. | (yy_hold_char) = *yy_cp;
  5047. | (yy_c_buf_p) = yy_cp;
  5048. | }
  5049. |
  5050. | #endif
  5051. |
  5052. | #ifndef YY_NO_INPUT
  5053. | #ifdef __cplusplus
  5054. | static int yyinput (void)
  5055. | #else
  5056. | static int input (void)
  5057. | #endif
  5058. |
  5059. | {
  5060. | int c;
  5061. |
  5062. | *(yy_c_buf_p) = (yy_hold_char);
  5063. |
  5064. | if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
  5065. | {
  5066. | /* yy_c_buf_p now points to the character we want to return.
  5067. | * If this occurs *before* the EOB characters, then it's a
  5068. | * valid NUL; if not, then we've hit the end of the buffer.
  5069. | */
  5070. | if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  5071. | /* This was really a NUL. */
  5072. | *(yy_c_buf_p) = '\0';
  5073. |
  5074. | else
  5075. | { /* need more input */
  5076. | yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
  5077. | ++(yy_c_buf_p);
  5078. |
  5079. | switch ( yy_get_next_buffer( ) )
  5080. | {
  5081. | case EOB_ACT_LAST_MATCH:
  5082. | /* This happens because yy_g_n_b()
  5083. | * sees that we've accumulated a
  5084. | * token and flags that we need to
  5085. | * try matching the token before
  5086. | * proceeding. But for input(),
  5087. | * there's no matching to consider.
  5088. | * So convert the EOB_ACT_LAST_MATCH
  5089. | * to EOB_ACT_END_OF_FILE.
  5090. | */
  5091. |
  5092. | /* Reset buffer status. */
  5093. | yyrestart(yyin );
  5094. |
  5095. | /*FALLTHROUGH*/
  5096. |
  5097. | case EOB_ACT_END_OF_FILE:
  5098. | {
  5099. | if ( yywrap( ) )
  5100. | return EOF;
  5101. |
  5102. | if ( ! (yy_did_buffer_switch_on_eof) )
  5103. | YY_NEW_FILE;
  5104. | #ifdef __cplusplus
  5105. | return yyinput();
  5106. | #else
  5107. | return input();
  5108. | #endif
  5109. | }
  5110. |
  5111. | case EOB_ACT_CONTINUE_SCAN:
  5112. | (yy_c_buf_p) = (yytext_ptr) + offset;
  5113. | break;
  5114. | }
  5115. | }
  5116. | }
  5117. |
  5118. | c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
  5119. | *(yy_c_buf_p) = '\0'; /* preserve yytext */
  5120. | (yy_hold_char) = *++(yy_c_buf_p);
  5121. |
  5122. | return c;
  5123. | }
  5124. | #endif /* ifndef YY_NO_INPUT */
  5125. |
  5126. | /** Immediately switch to a different input stream.
  5127. | * @param input_file A readable stream.
  5128. | *
  5129. | * @note This function does not reset the start condition to @c INITIAL .
  5130. | */
  5131. | void yyrestart (FILE * input_file )
  5132. | {
  5133. |
  5134. | if ( ! YY_CURRENT_BUFFER ){
  5135. | yyensure_buffer_stack ();
  5136. | YY_CURRENT_BUFFER_LVALUE =
  5137. | yy_create_buffer(yyin,YY_BUF_SIZE );
  5138. | }
  5139. |
  5140. | yy_init_buffer(YY_CURRENT_BUFFER,input_file );
  5141. | yy_load_buffer_state( );
  5142. | }
  5143. |
  5144. | /** Switch to a different input buffer.
  5145. | * @param new_buffer The new input buffer.
  5146. | *
  5147. | */
  5148. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
  5149. | {
  5150. |
  5151. | /* TODO. We should be able to replace this entire function body
  5152. | * with
  5153. | * yypop_buffer_state();
  5154. | * yypush_buffer_state(new_buffer);
  5155. | */
  5156. | yyensure_buffer_stack ();
  5157. | if ( YY_CURRENT_BUFFER == new_buffer )
  5158. | return;
  5159. |
  5160. | if ( YY_CURRENT_BUFFER )
  5161. | {
  5162. | /* Flush out information for old buffer. */
  5163. | *(yy_c_buf_p) = (yy_hold_char);
  5164. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  5165. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  5166. | }
  5167. |
  5168. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  5169. | yy_load_buffer_state( );
  5170. |
  5171. | /* We don't actually know whether we did this switch during
  5172. | * EOF (yywrap()) processing, but the only time this flag
  5173. | * is looked at is after yywrap() is called, so it's safe
  5174. | * to go ahead and always set it.
  5175. | */
  5176. | (yy_did_buffer_switch_on_eof) = 1;
  5177. | }
  5178. |
  5179. | static void yy_load_buffer_state (void)
  5180. | {
  5181. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  5182. | (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
  5183. | yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
  5184. | (yy_hold_char) = *(yy_c_buf_p);
  5185. | }
  5186. |
  5187. | /** Allocate and initialize an input buffer state.
  5188. | * @param file A readable stream.
  5189. | * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
  5190. | *
  5191. | * @return the allocated buffer state.
  5192. | */
  5193. | YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
  5194. | {
  5195. | YY_BUFFER_STATE b;
  5196. |
  5197. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  5198. | if ( ! b )
  5199. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  5200. |
  5201. | b->yy_buf_size = (yy_size_t)size;
  5202. |
  5203. | /* yy_ch_buf has to be 2 characters longer than the size given because
  5204. | * we need to put in 2 end-of-buffer characters.
  5205. | */
  5206. | b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
  5207. | if ( ! b->yy_ch_buf )
  5208. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  5209. |
  5210. | b->yy_is_our_buffer = 1;
  5211. |
  5212. | yy_init_buffer(b,file );
  5213. |
  5214. | return b;
  5215. | }
  5216. |
  5217. | /** Destroy the buffer.
  5218. | * @param b a buffer created with yy_create_buffer()
  5219. | *
  5220. | */
  5221. | void yy_delete_buffer (YY_BUFFER_STATE b )
  5222. | {
  5223. |
  5224. | if ( ! b )
  5225. | return;
  5226. |
  5227. | if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
  5228. | YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
  5229. |
  5230. | if ( b->yy_is_our_buffer )
  5231. | yyfree((void *) b->yy_ch_buf );
  5232. |
  5233. | yyfree((void *) b );
  5234. | }
  5235. |
  5236. | /* Initializes or reinitializes a buffer.
  5237. | * This function is sometimes called more than once on the same buffer,
  5238. | * such as during a yyrestart() or at EOF.
  5239. | */
  5240. | static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
  5241. |
  5242. | {
  5243. | int oerrno = errno;
  5244. |
  5245. | yy_flush_buffer(b );
  5246. |
  5247. | b->yy_input_file = file;
  5248. | b->yy_fill_buffer = 1;
  5249. |
  5250. | /* If b is the current buffer, then yy_init_buffer was _probably_
  5251. | * called from yyrestart() or through yy_get_next_buffer.
  5252. | * In that case, we don't want to reset the lineno or column.
  5253. | */
  5254. | if (b != YY_CURRENT_BUFFER){
  5255. | b->yy_bs_lineno = 1;
  5256. | b->yy_bs_column = 0;
  5257. | }
  5258. |
  5259. | b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
  5260. |
  5261. | errno = oerrno;
  5262. | }
  5263. |
  5264. | /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  5265. | * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  5266. | *
  5267. | */
  5268. | void yy_flush_buffer (YY_BUFFER_STATE b )
  5269. | {
  5270. | if ( ! b )
  5271. | return;
  5272. |
  5273. | b->yy_n_chars = 0;
  5274. |
  5275. | /* We always need two end-of-buffer characters. The first causes
  5276. | * a transition to the end-of-buffer state. The second causes
  5277. | * a jam in that state.
  5278. | */
  5279. | b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  5280. | b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  5281. |
  5282. | b->yy_buf_pos = &b->yy_ch_buf[0];
  5283. |
  5284. | b->yy_at_bol = 1;
  5285. | b->yy_buffer_status = YY_BUFFER_NEW;
  5286. |
  5287. | if ( b == YY_CURRENT_BUFFER )
  5288. | yy_load_buffer_state( );
  5289. | }
  5290. |
  5291. | /** Pushes the new state onto the stack. The new state becomes
  5292. | * the current state. This function will allocate the stack
  5293. | * if necessary.
  5294. | * @param new_buffer The new state.
  5295. | *
  5296. | */
  5297. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  5298. | {
  5299. | if (new_buffer == NULL)
  5300. | return;
  5301. |
  5302. | yyensure_buffer_stack();
  5303. |
  5304. | /* This block is copied from yy_switch_to_buffer. */
  5305. | if ( YY_CURRENT_BUFFER )
  5306. | {
  5307. | /* Flush out information for old buffer. */
  5308. | *(yy_c_buf_p) = (yy_hold_char);
  5309. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  5310. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  5311. | }
  5312. |
  5313. | /* Only push if top exists. Otherwise, replace top. */
  5314. | if (YY_CURRENT_BUFFER)
  5315. | (yy_buffer_stack_top)++;
  5316. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  5317. |
  5318. | /* copied from yy_switch_to_buffer. */
  5319. | yy_load_buffer_state( );
  5320. | (yy_did_buffer_switch_on_eof) = 1;
  5321. | }
  5322. |
  5323. | /** Removes and deletes the top of the stack, if present.
  5324. | * The next element becomes the new top.
  5325. | *
  5326. | */
  5327. | void yypop_buffer_state (void)
  5328. | {
  5329. | if (!YY_CURRENT_BUFFER)
  5330. | return;
  5331. |
  5332. | yy_delete_buffer(YY_CURRENT_BUFFER );
  5333. | YY_CURRENT_BUFFER_LVALUE = NULL;
  5334. | if ((yy_buffer_stack_top) > 0)
  5335. | --(yy_buffer_stack_top);
  5336. |
  5337. | if (YY_CURRENT_BUFFER) {
  5338. | yy_load_buffer_state( );
  5339. | (yy_did_buffer_switch_on_eof) = 1;
  5340. | }
  5341. | }
  5342. |
  5343. | /* Allocates the stack if it does not exist.
  5344. | * Guarantees space for at least one push.
  5345. | */
  5346. | static void yyensure_buffer_stack (void)
  5347. | {
  5348. | yy_size_t num_to_alloc;
  5349. |
  5350. | if (!(yy_buffer_stack)) {
  5351. |
  5352. | /* First allocation is just for 2 elements, since we don't know if this
  5353. | * scanner will even need a stack. We use 2 instead of 1 to avoid an
  5354. | * immediate realloc on the next call.
  5355. | */
  5356. | num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
  5357. | (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
  5358. | (num_to_alloc * sizeof(struct yy_buffer_state*)
  5359. | );
  5360. | if ( ! (yy_buffer_stack) )
  5361. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  5362. |
  5363. | memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
  5364. |
  5365. | (yy_buffer_stack_max) = num_to_alloc;
  5366. | (yy_buffer_stack_top) = 0;
  5367. | return;
  5368. | }
  5369. |
  5370. | if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
  5371. |
  5372. | /* Increase the buffer to prepare for a possible push. */
  5373. | yy_size_t grow_size = 8 /* arbitrary grow size */;
  5374. |
  5375. | num_to_alloc = (yy_buffer_stack_max) + grow_size;
  5376. | (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
  5377. | ((yy_buffer_stack),
  5378. | num_to_alloc * sizeof(struct yy_buffer_state*)
  5379. | );
  5380. | if ( ! (yy_buffer_stack) )
  5381. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  5382. |
  5383. | /* zero only the new slots.*/
  5384. | memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
  5385. | (yy_buffer_stack_max) = num_to_alloc;
  5386. | }
  5387. | }
  5388. |
  5389. | /** Setup the input buffer state to scan directly from a user-specified character buffer.
  5390. | * @param base the character buffer
  5391. | * @param size the size in bytes of the character buffer
  5392. | *
  5393. | * @return the newly allocated buffer state object.
  5394. | */
  5395. | YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
  5396. | {
  5397. | YY_BUFFER_STATE b;
  5398. |
  5399. | if ( size < 2 ||
  5400. | base[size-2] != YY_END_OF_BUFFER_CHAR ||
  5401. | base[size-1] != YY_END_OF_BUFFER_CHAR )
  5402. | /* They forgot to leave room for the EOB's. */
  5403. | return 0;
  5404. |
  5405. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  5406. | if ( ! b )
  5407. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
  5408. |
  5409. | b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
  5410. | b->yy_buf_pos = b->yy_ch_buf = base;
  5411. | b->yy_is_our_buffer = 0;
  5412. | b->yy_input_file = 0;
  5413. | b->yy_n_chars = b->yy_buf_size;
  5414. | b->yy_is_interactive = 0;
  5415. | b->yy_at_bol = 1;
  5416. | b->yy_fill_buffer = 0;
  5417. | b->yy_buffer_status = YY_BUFFER_NEW;
  5418. |
  5419. | yy_switch_to_buffer(b );
  5420. |
  5421. | return b;
  5422. | }
  5423. |
  5424. | /** Setup the input buffer state to scan a string. The next call to yylex() will
  5425. | * scan from a @e copy of @a str.
  5426. | * @param yystr a NUL-terminated string to scan
  5427. | *
  5428. | * @return the newly allocated buffer state object.
  5429. | * @note If you want to scan bytes that may contain NUL values, then use
  5430. | * yy_scan_bytes() instead.
  5431. | */
  5432. | YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  5433. | {
  5434. |
  5435. | return yy_scan_bytes(yystr,strlen(yystr) );
  5436. | }
  5437. |
  5438. | /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  5439. | * scan from a @e copy of @a bytes.
  5440. | * @param yybytes the byte buffer to scan
  5441. | * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
  5442. | *
  5443. | * @return the newly allocated buffer state object.
  5444. | */
  5445. | YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
  5446. | {
  5447. | YY_BUFFER_STATE b;
  5448. | char *buf;
  5449. | yy_size_t n;
  5450. | yy_size_t i;
  5451. |
  5452. | /* Get memory for full buffer, including space for trailing EOB's. */
  5453. | n = _yybytes_len + 2;
  5454. | buf = (char *) yyalloc(n );
  5455. | if ( ! buf )
  5456. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
  5457. |
  5458. | for ( i = 0; i < _yybytes_len; ++i )
  5459. | buf[i] = yybytes[i];
  5460. |
  5461. | buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
  5462. |
  5463. | b = yy_scan_buffer(buf,n );
  5464. | if ( ! b )
  5465. | YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
  5466. |
  5467. | /* It's okay to grow etc. this buffer, and we should throw it
  5468. | * away when we're done.
  5469. | */
  5470. | b->yy_is_our_buffer = 1;
  5471. |
  5472. | return b;
  5473. | }
  5474. |
  5475. | #ifndef YY_EXIT_FAILURE
  5476. | #define YY_EXIT_FAILURE 2
  5477. | #endif
  5478. |
  5479. | static void yy_fatal_error (yyconst char* msg )
  5480. | {
  5481. | (void) fprintf( stderr, "%s\n", msg );
  5482. | exit( YY_EXIT_FAILURE );
  5483. | }
  5484. |
  5485. | /* Redefine yyless() so it works in section 3 code. */
  5486. |
  5487. | #undef yyless
  5488. | #define yyless(n) \
  5489. | do \
  5490. | { \
  5491. | /* Undo effects of setting up yytext. */ \
  5492. | int yyless_macro_arg = (n); \
  5493. | YY_LESS_LINENO(yyless_macro_arg);\
  5494. | yytext[yyleng] = (yy_hold_char); \
  5495. | (yy_c_buf_p) = yytext + yyless_macro_arg; \
  5496. | (yy_hold_char) = *(yy_c_buf_p); \
  5497. | *(yy_c_buf_p) = '\0'; \
  5498. | yyleng = yyless_macro_arg; \
  5499. | } \
  5500. | while ( 0 )
  5501. |
  5502. | /* Accessor methods (get/set functions) to struct members. */
  5503. |
  5504. | /** Get the current line number.
  5505. | *
  5506. | */
  5507. | int yyget_lineno (void)
  5508. | {
  5509. |
  5510. | return yylineno;
  5511. | }
  5512. |
  5513. | /** Get the input stream.
  5514. | *
  5515. | */
  5516. | FILE *yyget_in (void)
  5517. | {
  5518. | return yyin;
  5519. | }
  5520. |
  5521. | /** Get the output stream.
  5522. | *
  5523. | */
  5524. | FILE *yyget_out (void)
  5525. | {
  5526. | return yyout;
  5527. | }
  5528. |
  5529. | /** Get the length of the current token.
  5530. | *
  5531. | */
  5532. | yy_size_t yyget_leng (void)
  5533. | {
  5534. | return yyleng;
  5535. | }
  5536. |
  5537. | /** Get the current token.
  5538. | *
  5539. | */
  5540. |
  5541. | char *yyget_text (void)
  5542. | {
  5543. | return yytext;
  5544. | }
  5545. |
  5546. | /** Set the current line number.
  5547. | * @param _line_number line number
  5548. | *
  5549. | */
  5550. | void yyset_lineno (int _line_number )
  5551. | {
  5552. |
  5553. | yylineno = _line_number;
  5554. | }
  5555. |
  5556. | /** Set the input stream. This does not discard the current
  5557. | * input buffer.
  5558. | * @param _in_str A readable stream.
  5559. | *
  5560. | * @see yy_switch_to_buffer
  5561. | */
  5562. | void yyset_in (FILE * _in_str )
  5563. | {
  5564. | yyin = _in_str ;
  5565. | }
  5566. |
  5567. | void yyset_out (FILE * _out_str )
  5568. | {
  5569. | yyout = _out_str ;
  5570. | }
  5571. |
  5572. | int yyget_debug (void)
  5573. | {
  5574. | return yy_flex_debug;
  5575. | }
  5576. |
  5577. | void yyset_debug (int _bdebug )
  5578. | {
  5579. | yy_flex_debug = _bdebug ;
  5580. | }
  5581. |
  5582. | static int yy_init_globals (void)
  5583. | {
  5584. | /* Initialization is the same as for the non-reentrant scanner.
  5585. | * This function is called from yylex_destroy(), so don't allocate here.
  5586. | */
  5587. |
  5588. | (yy_buffer_stack) = 0;
  5589. | (yy_buffer_stack_top) = 0;
  5590. | (yy_buffer_stack_max) = 0;
  5591. | (yy_c_buf_p) = (char *) 0;
  5592. | (yy_init) = 0;
  5593. | (yy_start) = 0;
  5594. |
  5595. | (yy_state_buf) = 0;
  5596. | (yy_state_ptr) = 0;
  5597. | (yy_full_match) = 0;
  5598. | (yy_lp) = 0;
  5599. |
  5600. | /* Defined in main.c */
  5601. | #ifdef YY_STDINIT
  5602. | yyin = stdin;
  5603. | yyout = stdout;
  5604. | #else
  5605. | yyin = (FILE *) 0;
  5606. | yyout = (FILE *) 0;
  5607. | #endif
  5608. |
  5609. | /* For future reference: Set errno on error, since we are called by
  5610. | * yylex_init()
  5611. | */
  5612. | return 0;
  5613. | }
  5614. |
  5615. | /* yylex_destroy is for both reentrant and non-reentrant scanners. */
  5616. | int yylex_destroy (void)
  5617. | {
  5618. |
  5619. | /* Pop the buffer stack, destroying each element. */
  5620. | while(YY_CURRENT_BUFFER){
  5621. | yy_delete_buffer(YY_CURRENT_BUFFER );
  5622. | YY_CURRENT_BUFFER_LVALUE = NULL;
  5623. | yypop_buffer_state();
  5624. | }
  5625. |
  5626. | /* Destroy the stack itself. */
  5627. | yyfree((yy_buffer_stack) );
  5628. | (yy_buffer_stack) = NULL;
  5629. |
  5630. | yyfree ( (yy_state_buf) );
  5631. | (yy_state_buf) = NULL;
  5632. |
  5633. | /* Reset the globals. This is important in a non-reentrant scanner so the next time
  5634. | * yylex() is called, initialization will occur. */
  5635. | yy_init_globals( );
  5636. |
  5637. | return 0;
  5638. | }
  5639. |
  5640. | /*
  5641. | * Internal utility routines.
  5642. | */
  5643. |
  5644. | #ifndef yytext_ptr
  5645. | static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
  5646. | {
  5647. |
  5648. | int i;
  5649. | for ( i = 0; i < n; ++i )
  5650. | s1[i] = s2[i];
  5651. | }
  5652. | #endif
  5653. |
  5654. | #ifdef YY_NEED_STRLEN
  5655. | static int yy_flex_strlen (yyconst char * s )
  5656. | {
  5657. | int n;
  5658. | for ( n = 0; s[n]; ++n )
  5659. | ;
  5660. |
  5661. | return n;
  5662. | }
  5663. | #endif
  5664. |
  5665. | void *yyalloc (yy_size_t size )
  5666. | {
  5667. | return (void *) malloc( size );
  5668. | }
  5669. |
  5670. | void *yyrealloc (void * ptr, yy_size_t size )
  5671. | {
  5672. |
  5673. | /* The cast to (char *) in the following accommodates both
  5674. | * implementations that use char* generic pointers, and those
  5675. | * that use void* generic pointers. It works with the latter
  5676. | * because both ANSI C and C++ allow castless assignment from
  5677. | * any pointer type to void*, and deal with argument conversions
  5678. | * as though doing an assignment.
  5679. | */
  5680. | return (void *) realloc( (char *) ptr, size );
  5681. | }
  5682. |
  5683. | void yyfree (void * ptr )
  5684. | {
  5685. | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
  5686. | }
  5687. |
  5688. | #define YYTABLES_NAME "yytables"
  5689. |
  5690. | #line 10 "conftest.l"
  5691. |
  5692. |
  5693. | #ifdef YYTEXT_POINTER
  5694. | extern char *yytext;
  5695. | #endif
  5696. | int
  5697. | main (void)
  5698. | {
  5699. | return ! yylex () + ! yywrap ();
  5700. | }
  5701. configure:4065: result: none needed
  5702. configure:4071: checking whether yytext is a pointer
  5703. configure:4088: g++ -o conftest -std=c++11 -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp >&5
  5704. conftest.l: In function 'int yylex()':
  5705. conftest.l:7:21: error: 'input' was not declared in this scope
  5706. yyless ((input () != 0)); }
  5707. ^
  5708. lex.yy.c:185:33: note: in definition of macro 'yyless'
  5709. int yyless_macro_arg = (n); \
  5710. ^
  5711. configure:4088: $? = 1
  5712. configure: failed program was:
  5713. | /* confdefs.h */
  5714. | #define PACKAGE_NAME ""
  5715. | #define PACKAGE_TARNAME ""
  5716. | #define PACKAGE_VERSION ""
  5717. | #define PACKAGE_STRING ""
  5718. | #define PACKAGE_BUGREPORT ""
  5719. | #define PACKAGE_URL ""
  5720. | #define HAVE_SWAPCONTEXT 1
  5721. | /* end confdefs.h. */
  5722. |
  5723. | #define YYTEXT_POINTER 1
  5724. |
  5725. | #line 3 "lex.yy.c"
  5726. |
  5727. | #define YY_INT_ALIGNED short int
  5728. |
  5729. | /* A lexical scanner generated by flex */
  5730. |
  5731. | #define FLEX_SCANNER
  5732. | #define YY_FLEX_MAJOR_VERSION 2
  5733. | #define YY_FLEX_MINOR_VERSION 6
  5734. | #define YY_FLEX_SUBMINOR_VERSION 0
  5735. | #if YY_FLEX_SUBMINOR_VERSION > 0
  5736. | #define FLEX_BETA
  5737. | #endif
  5738. |
  5739. | /* First, we deal with platform-specific or compiler-specific issues. */
  5740. |
  5741. | /* begin standard C headers. */
  5742. | #include <stdio.h>
  5743. | #include <string.h>
  5744. | #include <errno.h>
  5745. | #include <stdlib.h>
  5746. |
  5747. | /* end standard C headers. */
  5748. |
  5749. | /* flex integer type definitions */
  5750. |
  5751. | #ifndef FLEXINT_H
  5752. | #define FLEXINT_H
  5753. |
  5754. | /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
  5755. |
  5756. | #if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
  5757. |
  5758. | /* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
  5759. | * if you want the limit (max/min) macros for int types.
  5760. | */
  5761. | #ifndef __STDC_LIMIT_MACROS
  5762. | #define __STDC_LIMIT_MACROS 1
  5763. | #endif
  5764. |
  5765. | #include <inttypes.h>
  5766. | typedef int8_t flex_int8_t;
  5767. | typedef uint8_t flex_uint8_t;
  5768. | typedef int16_t flex_int16_t;
  5769. | typedef uint16_t flex_uint16_t;
  5770. | typedef int32_t flex_int32_t;
  5771. | typedef uint32_t flex_uint32_t;
  5772. | #else
  5773. | typedef signed char flex_int8_t;
  5774. | typedef short int flex_int16_t;
  5775. | typedef int flex_int32_t;
  5776. | typedef unsigned char flex_uint8_t;
  5777. | typedef unsigned short int flex_uint16_t;
  5778. | typedef unsigned int flex_uint32_t;
  5779. |
  5780. | /* Limits of integral types. */
  5781. | #ifndef INT8_MIN
  5782. | #define INT8_MIN (-128)
  5783. | #endif
  5784. | #ifndef INT16_MIN
  5785. | #define INT16_MIN (-32767-1)
  5786. | #endif
  5787. | #ifndef INT32_MIN
  5788. | #define INT32_MIN (-2147483647-1)
  5789. | #endif
  5790. | #ifndef INT8_MAX
  5791. | #define INT8_MAX (127)
  5792. | #endif
  5793. | #ifndef INT16_MAX
  5794. | #define INT16_MAX (32767)
  5795. | #endif
  5796. | #ifndef INT32_MAX
  5797. | #define INT32_MAX (2147483647)
  5798. | #endif
  5799. | #ifndef UINT8_MAX
  5800. | #define UINT8_MAX (255U)
  5801. | #endif
  5802. | #ifndef UINT16_MAX
  5803. | #define UINT16_MAX (65535U)
  5804. | #endif
  5805. | #ifndef UINT32_MAX
  5806. | #define UINT32_MAX (4294967295U)
  5807. | #endif
  5808. |
  5809. | #endif /* ! C99 */
  5810. |
  5811. | #endif /* ! FLEXINT_H */
  5812. |
  5813. | #ifdef __cplusplus
  5814. |
  5815. | /* The "const" storage-class-modifier is valid. */
  5816. | #define YY_USE_CONST
  5817. |
  5818. | #else /* ! __cplusplus */
  5819. |
  5820. | /* C99 requires __STDC__ to be defined as 1. */
  5821. | #if defined (__STDC__)
  5822. |
  5823. | #define YY_USE_CONST
  5824. |
  5825. | #endif /* defined (__STDC__) */
  5826. | #endif /* ! __cplusplus */
  5827. |
  5828. | #ifdef YY_USE_CONST
  5829. | #define yyconst const
  5830. | #else
  5831. | #define yyconst
  5832. | #endif
  5833. |
  5834. | /* Returned upon end-of-file. */
  5835. | #define YY_NULL 0
  5836. |
  5837. | /* Promotes a possibly negative, possibly signed char to an unsigned
  5838. | * integer for use as an array index. If the signed char is negative,
  5839. | * we want to instead treat it as an 8-bit unsigned char, hence the
  5840. | * double cast.
  5841. | */
  5842. | #define YY_SC_TO_UI(c) ((unsigned int) (unsigned char) c)
  5843. |
  5844. | /* Enter a start condition. This macro really ought to take a parameter,
  5845. | * but we do it the disgusting crufty way forced on us by the ()-less
  5846. | * definition of BEGIN.
  5847. | */
  5848. | #define BEGIN (yy_start) = 1 + 2 *
  5849. |
  5850. | /* Translate the current start state into a value that can be later handed
  5851. | * to BEGIN to return to the state. The YYSTATE alias is for lex
  5852. | * compatibility.
  5853. | */
  5854. | #define YY_START (((yy_start) - 1) / 2)
  5855. | #define YYSTATE YY_START
  5856. |
  5857. | /* Action number for EOF rule of a given start state. */
  5858. | #define YY_STATE_EOF(state) (YY_END_OF_BUFFER + state + 1)
  5859. |
  5860. | /* Special action meaning "start processing a new file". */
  5861. | #define YY_NEW_FILE yyrestart(yyin )
  5862. |
  5863. | #define YY_END_OF_BUFFER_CHAR 0
  5864. |
  5865. | /* Size of default input buffer. */
  5866. | #ifndef YY_BUF_SIZE
  5867. | #ifdef __ia64__
  5868. | /* On IA-64, the buffer size is 16k, not 8k.
  5869. | * Moreover, YY_BUF_SIZE is 2*YY_READ_BUF_SIZE in the general case.
  5870. | * Ditto for the __ia64__ case accordingly.
  5871. | */
  5872. | #define YY_BUF_SIZE 32768
  5873. | #else
  5874. | #define YY_BUF_SIZE 16384
  5875. | #endif /* __ia64__ */
  5876. | #endif
  5877. |
  5878. | /* The state buf must be large enough to hold one state per character in the main buffer.
  5879. | */
  5880. | #define YY_STATE_BUF_SIZE ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
  5881. |
  5882. | #ifndef YY_TYPEDEF_YY_BUFFER_STATE
  5883. | #define YY_TYPEDEF_YY_BUFFER_STATE
  5884. | typedef struct yy_buffer_state *YY_BUFFER_STATE;
  5885. | #endif
  5886. |
  5887. | #ifndef YY_TYPEDEF_YY_SIZE_T
  5888. | #define YY_TYPEDEF_YY_SIZE_T
  5889. | typedef size_t yy_size_t;
  5890. | #endif
  5891. |
  5892. | extern yy_size_t yyleng;
  5893. |
  5894. | extern FILE *yyin, *yyout;
  5895. |
  5896. | #define EOB_ACT_CONTINUE_SCAN 0
  5897. | #define EOB_ACT_END_OF_FILE 1
  5898. | #define EOB_ACT_LAST_MATCH 2
  5899. |
  5900. | #define YY_LESS_LINENO(n)
  5901. | #define YY_LINENO_REWIND_TO(ptr)
  5902. |
  5903. | /* Return all but the first "n" matched characters back to the input stream. */
  5904. | #define yyless(n) \
  5905. | do \
  5906. | { \
  5907. | /* Undo effects of setting up yytext. */ \
  5908. | int yyless_macro_arg = (n); \
  5909. | YY_LESS_LINENO(yyless_macro_arg);\
  5910. | *yy_cp = (yy_hold_char); \
  5911. | YY_RESTORE_YY_MORE_OFFSET \
  5912. | (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
  5913. | YY_DO_BEFORE_ACTION; /* set up yytext again */ \
  5914. | } \
  5915. | while ( 0 )
  5916. |
  5917. | #define unput(c) yyunput( c, (yytext_ptr) )
  5918. |
  5919. | #ifndef YY_STRUCT_YY_BUFFER_STATE
  5920. | #define YY_STRUCT_YY_BUFFER_STATE
  5921. | struct yy_buffer_state
  5922. | {
  5923. | FILE *yy_input_file;
  5924. |
  5925. | char *yy_ch_buf; /* input buffer */
  5926. | char *yy_buf_pos; /* current position in input buffer */
  5927. |
  5928. | /* Size of input buffer in bytes, not including room for EOB
  5929. | * characters.
  5930. | */
  5931. | yy_size_t yy_buf_size;
  5932. |
  5933. | /* Number of characters read into yy_ch_buf, not including EOB
  5934. | * characters.
  5935. | */
  5936. | int yy_n_chars;
  5937. |
  5938. | /* Whether we "own" the buffer - i.e., we know we created it,
  5939. | * and can realloc() it to grow it, and should free() it to
  5940. | * delete it.
  5941. | */
  5942. | int yy_is_our_buffer;
  5943. |
  5944. | /* Whether this is an "interactive" input source; if so, and
  5945. | * if we're using stdio for input, then we want to use getc()
  5946. | * instead of fread(), to make sure we stop fetching input after
  5947. | * each newline.
  5948. | */
  5949. | int yy_is_interactive;
  5950. |
  5951. | /* Whether we're considered to be at the beginning of a line.
  5952. | * If so, '^' rules will be active on the next match, otherwise
  5953. | * not.
  5954. | */
  5955. | int yy_at_bol;
  5956. |
  5957. | int yy_bs_lineno; /**< The line count. */
  5958. | int yy_bs_column; /**< The column count. */
  5959. |
  5960. | /* Whether to try to fill the input buffer when we reach the
  5961. | * end of it.
  5962. | */
  5963. | int yy_fill_buffer;
  5964. |
  5965. | int yy_buffer_status;
  5966. |
  5967. | #define YY_BUFFER_NEW 0
  5968. | #define YY_BUFFER_NORMAL 1
  5969. | /* When an EOF's been seen but there's still some text to process
  5970. | * then we mark the buffer as YY_EOF_PENDING, to indicate that we
  5971. | * shouldn't try reading from the input source any more. We might
  5972. | * still have a bunch of tokens to match, though, because of
  5973. | * possible backing-up.
  5974. | *
  5975. | * When we actually see the EOF, we change the status to "new"
  5976. | * (via yyrestart()), so that the user can continue scanning by
  5977. | * just pointing yyin at a new input file.
  5978. | */
  5979. | #define YY_BUFFER_EOF_PENDING 2
  5980. |
  5981. | };
  5982. | #endif /* !YY_STRUCT_YY_BUFFER_STATE */
  5983. |
  5984. | /* Stack of input buffers. */
  5985. | static size_t yy_buffer_stack_top = 0; /**< index of top of stack. */
  5986. | static size_t yy_buffer_stack_max = 0; /**< capacity of stack. */
  5987. | static YY_BUFFER_STATE * yy_buffer_stack = 0; /**< Stack as an array. */
  5988. |
  5989. | /* We provide macros for accessing buffer states in case in the
  5990. | * future we want to put the buffer states in a more general
  5991. | * "scanner state".
  5992. | *
  5993. | * Returns the top of the stack, or NULL.
  5994. | */
  5995. | #define YY_CURRENT_BUFFER ( (yy_buffer_stack) \
  5996. | ? (yy_buffer_stack)[(yy_buffer_stack_top)] \
  5997. | : NULL)
  5998. |
  5999. | /* Same as previous macro, but useful when we know that the buffer stack is not
  6000. | * NULL or when we need an lvalue. For internal use only.
  6001. | */
  6002. | #define YY_CURRENT_BUFFER_LVALUE (yy_buffer_stack)[(yy_buffer_stack_top)]
  6003. |
  6004. | /* yy_hold_char holds the character lost when yytext is formed. */
  6005. | static char yy_hold_char;
  6006. | static int yy_n_chars; /* number of characters read into yy_ch_buf */
  6007. | yy_size_t yyleng;
  6008. |
  6009. | /* Points to current character in buffer. */
  6010. | static char *yy_c_buf_p = (char *) 0;
  6011. | static int yy_init = 0; /* whether we need to initialize */
  6012. | static int yy_start = 0; /* start state number */
  6013. |
  6014. | /* Flag which is used to allow yywrap()'s to do buffer switches
  6015. | * instead of setting up a fresh yyin. A bit of a hack ...
  6016. | */
  6017. | static int yy_did_buffer_switch_on_eof;
  6018. |
  6019. | void yyrestart (FILE *input_file );
  6020. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer );
  6021. | YY_BUFFER_STATE yy_create_buffer (FILE *file,int size );
  6022. | void yy_delete_buffer (YY_BUFFER_STATE b );
  6023. | void yy_flush_buffer (YY_BUFFER_STATE b );
  6024. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer );
  6025. | void yypop_buffer_state (void );
  6026. |
  6027. | static void yyensure_buffer_stack (void );
  6028. | static void yy_load_buffer_state (void );
  6029. | static void yy_init_buffer (YY_BUFFER_STATE b,FILE *file );
  6030. |
  6031. | #define YY_FLUSH_BUFFER yy_flush_buffer(YY_CURRENT_BUFFER )
  6032. |
  6033. | YY_BUFFER_STATE yy_scan_buffer (char *base,yy_size_t size );
  6034. | YY_BUFFER_STATE yy_scan_string (yyconst char *yy_str );
  6035. | YY_BUFFER_STATE yy_scan_bytes (yyconst char *bytes,yy_size_t len );
  6036. |
  6037. | void *yyalloc (yy_size_t );
  6038. | void *yyrealloc (void *,yy_size_t );
  6039. | void yyfree (void * );
  6040. |
  6041. | #define yy_new_buffer yy_create_buffer
  6042. |
  6043. | #define yy_set_interactive(is_interactive) \
  6044. | { \
  6045. | if ( ! YY_CURRENT_BUFFER ){ \
  6046. | yyensure_buffer_stack (); \
  6047. | YY_CURRENT_BUFFER_LVALUE = \
  6048. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  6049. | } \
  6050. | YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
  6051. | }
  6052. |
  6053. | #define yy_set_bol(at_bol) \
  6054. | { \
  6055. | if ( ! YY_CURRENT_BUFFER ){\
  6056. | yyensure_buffer_stack (); \
  6057. | YY_CURRENT_BUFFER_LVALUE = \
  6058. | yy_create_buffer(yyin,YY_BUF_SIZE ); \
  6059. | } \
  6060. | YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
  6061. | }
  6062. |
  6063. | #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
  6064. |
  6065. | /* Begin user sect3 */
  6066. |
  6067. | typedef unsigned char YY_CHAR;
  6068. |
  6069. | FILE *yyin = (FILE *) 0, *yyout = (FILE *) 0;
  6070. |
  6071. | typedef int yy_state_type;
  6072. |
  6073. | extern int yylineno;
  6074. |
  6075. | int yylineno = 1;
  6076. |
  6077. | extern char *yytext;
  6078. | #ifdef yytext_ptr
  6079. | #undef yytext_ptr
  6080. | #endif
  6081. | #define yytext_ptr yytext
  6082. |
  6083. | static yy_state_type yy_get_previous_state (void );
  6084. | static yy_state_type yy_try_NUL_trans (yy_state_type current_state );
  6085. | static int yy_get_next_buffer (void );
  6086. | #if defined(__GNUC__) && __GNUC__ >= 3
  6087. | __attribute__((__noreturn__))
  6088. | #endif
  6089. | static void yy_fatal_error (yyconst char msg[] );
  6090. |
  6091. | /* Done after the current pattern has been matched and before the
  6092. | * corresponding action - sets up yytext.
  6093. | */
  6094. | #define YY_DO_BEFORE_ACTION \
  6095. | (yytext_ptr) = yy_bp; \
  6096. | (yytext_ptr) -= (yy_more_len); \
  6097. | yyleng = (size_t) (yy_cp - (yytext_ptr)); \
  6098. | (yy_hold_char) = *yy_cp; \
  6099. | *yy_cp = '\0'; \
  6100. | (yy_c_buf_p) = yy_cp;
  6101. |
  6102. | #define YY_NUM_RULES 8
  6103. | #define YY_END_OF_BUFFER 9
  6104. | /* This struct is not used in this scanner,
  6105. | but its presence is necessary. */
  6106. | struct yy_trans_info
  6107. | {
  6108. | flex_int32_t yy_verify;
  6109. | flex_int32_t yy_nxt;
  6110. | };
  6111. | static yyconst flex_int16_t yy_acclist[23] =
  6112. | { 0,
  6113. | 9, 7, 8, 8, 1, 7, 8, 2, 7, 8,
  6114. | 3, 7, 8, 4, 7, 8, 5, 7, 8, 6,
  6115. | 7, 8
  6116. | } ;
  6117. |
  6118. | static yyconst flex_int16_t yy_accept[14] =
  6119. | { 0,
  6120. | 1, 1, 1, 2, 4, 5, 8, 11, 14, 17,
  6121. | 20, 23, 23
  6122. | } ;
  6123. |
  6124. | static yyconst YY_CHAR yy_ec[256] =
  6125. | { 0,
  6126. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 2,
  6127. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6128. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6129. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6130. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6131. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6132. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6133. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6134. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6135. | 1, 1, 1, 1, 1, 1, 3, 4, 5, 6,
  6136. |
  6137. | 7, 8, 1, 1, 1, 1, 1, 1, 1, 1,
  6138. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6139. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6140. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6141. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6142. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6143. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6144. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6145. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6146. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6147. |
  6148. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6149. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6150. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6151. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6152. | 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
  6153. | 1, 1, 1, 1, 1
  6154. | } ;
  6155. |
  6156. | static yyconst YY_CHAR yy_meta[9] =
  6157. | { 0,
  6158. | 1, 1, 1, 1, 1, 1, 1, 1
  6159. | } ;
  6160. |
  6161. | static yyconst flex_uint16_t yy_base[13] =
  6162. | { 0,
  6163. | 0, 0, 9, 10, 10, 10, 10, 10, 10, 10,
  6164. | 10, 10
  6165. | } ;
  6166. |
  6167. | static yyconst flex_int16_t yy_def[13] =
  6168. | { 0,
  6169. | 12, 1, 12, 12, 12, 12, 12, 12, 12, 12,
  6170. | 12, 0
  6171. | } ;
  6172. |
  6173. | static yyconst flex_uint16_t yy_nxt[19] =
  6174. | { 0,
  6175. | 4, 5, 6, 7, 8, 9, 10, 11, 12, 3,
  6176. | 12, 12, 12, 12, 12, 12, 12, 12
  6177. | } ;
  6178. |
  6179. | static yyconst flex_int16_t yy_chk[19] =
  6180. | { 0,
  6181. | 1, 1, 1, 1, 1, 1, 1, 1, 3, 12,
  6182. | 12, 12, 12, 12, 12, 12, 12, 12
  6183. | } ;
  6184. |
  6185. | extern int yy_flex_debug;
  6186. | int yy_flex_debug = 0;
  6187. |
  6188. | static yy_state_type *yy_state_buf=0, *yy_state_ptr=0;
  6189. | static char *yy_full_match;
  6190. | static int yy_lp;
  6191. | #define REJECT \
  6192. | { \
  6193. | *yy_cp = (yy_hold_char); /* undo effects of setting up yytext */ \
  6194. | yy_cp = (yy_full_match); /* restore poss. backed-over text */ \
  6195. | ++(yy_lp); \
  6196. | goto find_rule; \
  6197. | }
  6198. |
  6199. | static int yy_more_flag = 0;
  6200. | static int yy_more_len = 0;
  6201. | #define yymore() ((yy_more_flag) = 1)
  6202. | #define YY_MORE_ADJ (yy_more_len)
  6203. | #define YY_RESTORE_YY_MORE_OFFSET
  6204. | char *yytext;
  6205. | #line 1 "conftest.l"
  6206. | #line 484 "lex.yy.c"
  6207. |
  6208. | #define INITIAL 0
  6209. |
  6210. | #ifndef YY_NO_UNISTD_H
  6211. | /* Special case for "unistd.h", since it is non-ANSI. We include it way
  6212. | * down here because we want the user's section 1 to have been scanned first.
  6213. | * The user has a chance to override it with an option.
  6214. | */
  6215. | #include <unistd.h>
  6216. | #endif
  6217. |
  6218. | #ifndef YY_EXTRA_TYPE
  6219. | #define YY_EXTRA_TYPE void *
  6220. | #endif
  6221. |
  6222. | static int yy_init_globals (void );
  6223. |
  6224. | /* Accessor methods to globals.
  6225. | These are made visible to non-reentrant scanners for convenience. */
  6226. |
  6227. | int yylex_destroy (void );
  6228. |
  6229. | int yyget_debug (void );
  6230. |
  6231. | void yyset_debug (int debug_flag );
  6232. |
  6233. | YY_EXTRA_TYPE yyget_extra (void );
  6234. |
  6235. | void yyset_extra (YY_EXTRA_TYPE user_defined );
  6236. |
  6237. | FILE *yyget_in (void );
  6238. |
  6239. | void yyset_in (FILE * _in_str );
  6240. |
  6241. | FILE *yyget_out (void );
  6242. |
  6243. | void yyset_out (FILE * _out_str );
  6244. |
  6245. | yy_size_t yyget_leng (void );
  6246. |
  6247. | char *yyget_text (void );
  6248. |
  6249. | int yyget_lineno (void );
  6250. |
  6251. | void yyset_lineno (int _line_number );
  6252. |
  6253. | /* Macros after this point can all be overridden by user definitions in
  6254. | * section 1.
  6255. | */
  6256. |
  6257. | #ifndef YY_SKIP_YYWRAP
  6258. | #ifdef __cplusplus
  6259. | extern "C" int yywrap (void );
  6260. | #else
  6261. | extern int yywrap (void );
  6262. | #endif
  6263. | #endif
  6264. |
  6265. | #ifndef YY_NO_UNPUT
  6266. |
  6267. | static void yyunput (int c,char *buf_ptr );
  6268. |
  6269. | #endif
  6270. |
  6271. | #ifndef yytext_ptr
  6272. | static void yy_flex_strncpy (char *,yyconst char *,int );
  6273. | #endif
  6274. |
  6275. | #ifdef YY_NEED_STRLEN
  6276. | static int yy_flex_strlen (yyconst char * );
  6277. | #endif
  6278. |
  6279. | #ifndef YY_NO_INPUT
  6280. |
  6281. | #ifdef __cplusplus
  6282. | static int yyinput (void );
  6283. | #else
  6284. | static int input (void );
  6285. | #endif
  6286. |
  6287. | #endif
  6288. |
  6289. | /* Amount of stuff to slurp up with each read. */
  6290. | #ifndef YY_READ_BUF_SIZE
  6291. | #ifdef __ia64__
  6292. | /* On IA-64, the buffer size is 16k, not 8k */
  6293. | #define YY_READ_BUF_SIZE 16384
  6294. | #else
  6295. | #define YY_READ_BUF_SIZE 8192
  6296. | #endif /* __ia64__ */
  6297. | #endif
  6298. |
  6299. | /* Copy whatever the last rule matched to the standard output. */
  6300. | #ifndef ECHO
  6301. | /* This used to be an fputs(), but since the string might contain NUL's,
  6302. | * we now use fwrite().
  6303. | */
  6304. | #define ECHO do { if (fwrite( yytext, yyleng, 1, yyout )) {} } while (0)
  6305. | #endif
  6306. |
  6307. | /* Gets input and stuffs it into "buf". number of characters read, or YY_NULL,
  6308. | * is returned in "result".
  6309. | */
  6310. | #ifndef YY_INPUT
  6311. | #define YY_INPUT(buf,result,max_size) \
  6312. | if ( YY_CURRENT_BUFFER_LVALUE->yy_is_interactive ) \
  6313. | { \
  6314. | int c = '*'; \
  6315. | size_t n; \
  6316. | for ( n = 0; n < max_size && \
  6317. | (c = getc( yyin )) != EOF && c != '\n'; ++n ) \
  6318. | buf[n] = (char) c; \
  6319. | if ( c == '\n' ) \
  6320. | buf[n++] = (char) c; \
  6321. | if ( c == EOF && ferror( yyin ) ) \
  6322. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  6323. | result = n; \
  6324. | } \
  6325. | else \
  6326. | { \
  6327. | errno=0; \
  6328. | while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
  6329. | { \
  6330. | if( errno != EINTR) \
  6331. | { \
  6332. | YY_FATAL_ERROR( "input in flex scanner failed" ); \
  6333. | break; \
  6334. | } \
  6335. | errno=0; \
  6336. | clearerr(yyin); \
  6337. | } \
  6338. | }\
  6339. | \
  6340. |
  6341. | #endif
  6342. |
  6343. | /* No semi-colon after return; correct usage is to write "yyterminate();" -
  6344. | * we don't want an extra ';' after the "return" because that will cause
  6345. | * some compilers to complain about unreachable statements.
  6346. | */
  6347. | #ifndef yyterminate
  6348. | #define yyterminate() return YY_NULL
  6349. | #endif
  6350. |
  6351. | /* Number of entries by which start-condition stack grows. */
  6352. | #ifndef YY_START_STACK_INCR
  6353. | #define YY_START_STACK_INCR 25
  6354. | #endif
  6355. |
  6356. | /* Report a fatal error. */
  6357. | #ifndef YY_FATAL_ERROR
  6358. | #define YY_FATAL_ERROR(msg) yy_fatal_error( msg )
  6359. | #endif
  6360. |
  6361. | /* end tables serialization structures and prototypes */
  6362. |
  6363. | /* Default declaration of generated scanner - a define so the user can
  6364. | * easily add parameters.
  6365. | */
  6366. | #ifndef YY_DECL
  6367. | #define YY_DECL_IS_OURS 1
  6368. |
  6369. | extern int yylex (void);
  6370. |
  6371. | #define YY_DECL int yylex (void)
  6372. | #endif /* !YY_DECL */
  6373. |
  6374. | /* Code executed at the beginning of each rule, after yytext and yyleng
  6375. | * have been set up.
  6376. | */
  6377. | #ifndef YY_USER_ACTION
  6378. | #define YY_USER_ACTION
  6379. | #endif
  6380. |
  6381. | /* Code executed at the end of each rule. */
  6382. | #ifndef YY_BREAK
  6383. | #define YY_BREAK /*LINTED*/break;
  6384. | #endif
  6385. |
  6386. | #define YY_RULE_SETUP \
  6387. | YY_USER_ACTION
  6388. |
  6389. | /** The main scanner function which does all the work.
  6390. | */
  6391. | YY_DECL
  6392. | {
  6393. | yy_state_type yy_current_state;
  6394. | char *yy_cp, *yy_bp;
  6395. | int yy_act;
  6396. |
  6397. | if ( !(yy_init) )
  6398. | {
  6399. | (yy_init) = 1;
  6400. |
  6401. | #ifdef YY_USER_INIT
  6402. | YY_USER_INIT;
  6403. | #endif
  6404. |
  6405. | /* Create the reject buffer large enough to save one state per allowed character. */
  6406. | if ( ! (yy_state_buf) )
  6407. | (yy_state_buf) = (yy_state_type *)yyalloc(YY_STATE_BUF_SIZE );
  6408. | if ( ! (yy_state_buf) )
  6409. | YY_FATAL_ERROR( "out of dynamic memory in yylex()" );
  6410. |
  6411. | if ( ! (yy_start) )
  6412. | (yy_start) = 1; /* first start state */
  6413. |
  6414. | if ( ! yyin )
  6415. | yyin = stdin;
  6416. |
  6417. | if ( ! yyout )
  6418. | yyout = stdout;
  6419. |
  6420. | if ( ! YY_CURRENT_BUFFER ) {
  6421. | yyensure_buffer_stack ();
  6422. | YY_CURRENT_BUFFER_LVALUE =
  6423. | yy_create_buffer(yyin,YY_BUF_SIZE );
  6424. | }
  6425. |
  6426. | yy_load_buffer_state( );
  6427. | }
  6428. |
  6429. | {
  6430. | #line 1 "conftest.l"
  6431. |
  6432. | #line 710 "lex.yy.c"
  6433. |
  6434. | while ( /*CONSTCOND*/1 ) /* loops until end-of-file is reached */
  6435. | {
  6436. | (yy_more_len) = 0;
  6437. | if ( (yy_more_flag) )
  6438. | {
  6439. | (yy_more_len) = (yy_c_buf_p) - (yytext_ptr);
  6440. | (yy_more_flag) = 0;
  6441. | }
  6442. | yy_cp = (yy_c_buf_p);
  6443. |
  6444. | /* Support of yytext. */
  6445. | *yy_cp = (yy_hold_char);
  6446. |
  6447. | /* yy_bp points to the position in yy_ch_buf of the start of
  6448. | * the current run.
  6449. | */
  6450. | yy_bp = yy_cp;
  6451. |
  6452. | yy_current_state = (yy_start);
  6453. |
  6454. | (yy_state_ptr) = (yy_state_buf);
  6455. | *(yy_state_ptr)++ = yy_current_state;
  6456. |
  6457. | yy_match:
  6458. | do
  6459. | {
  6460. | YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)] ;
  6461. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  6462. | {
  6463. | yy_current_state = (int) yy_def[yy_current_state];
  6464. | if ( yy_current_state >= 13 )
  6465. | yy_c = yy_meta[(unsigned int) yy_c];
  6466. | }
  6467. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  6468. | *(yy_state_ptr)++ = yy_current_state;
  6469. | ++yy_cp;
  6470. | }
  6471. | while ( yy_base[yy_current_state] != 10 );
  6472. |
  6473. | yy_find_action:
  6474. | yy_current_state = *--(yy_state_ptr);
  6475. | (yy_lp) = yy_accept[yy_current_state];
  6476. | find_rule: /* we branch to this label when backing up */
  6477. | for ( ; ; ) /* until we find what rule we matched */
  6478. | {
  6479. | if ( (yy_lp) && (yy_lp) < yy_accept[yy_current_state + 1] )
  6480. | {
  6481. | yy_act = yy_acclist[(yy_lp)];
  6482. | {
  6483. | (yy_full_match) = yy_cp;
  6484. | break;
  6485. | }
  6486. | }
  6487. | --yy_cp;
  6488. | yy_current_state = *--(yy_state_ptr);
  6489. | (yy_lp) = yy_accept[yy_current_state];
  6490. | }
  6491. |
  6492. | YY_DO_BEFORE_ACTION;
  6493. |
  6494. | do_action: /* This label is used only to access EOF actions. */
  6495. |
  6496. | switch ( yy_act )
  6497. | { /* beginning of action switch */
  6498. | case 1:
  6499. | YY_RULE_SETUP
  6500. | #line 2 "conftest.l"
  6501. | { ECHO; }
  6502. | YY_BREAK
  6503. | case 2:
  6504. | YY_RULE_SETUP
  6505. | #line 3 "conftest.l"
  6506. | { REJECT; }
  6507. | YY_BREAK
  6508. | case 3:
  6509. | YY_RULE_SETUP
  6510. | #line 4 "conftest.l"
  6511. | { yymore (); }
  6512. | YY_BREAK
  6513. | case 4:
  6514. | YY_RULE_SETUP
  6515. | #line 5 "conftest.l"
  6516. | { yyless (1); }
  6517. | YY_BREAK
  6518. | case 5:
  6519. | YY_RULE_SETUP
  6520. | #line 6 "conftest.l"
  6521. | { /* IRIX 6.5 flex 2.5.4 underquotes its yyless argument. */
  6522. | yyless ((input () != 0)); }
  6523. | YY_BREAK
  6524. | case 6:
  6525. | YY_RULE_SETUP
  6526. | #line 8 "conftest.l"
  6527. | { unput (yytext[0]); }
  6528. | YY_BREAK
  6529. | case 7:
  6530. | YY_RULE_SETUP
  6531. | #line 9 "conftest.l"
  6532. | { BEGIN INITIAL; }
  6533. | YY_BREAK
  6534. | case 8:
  6535. | YY_RULE_SETUP
  6536. | #line 10 "conftest.l"
  6537. | ECHO;
  6538. | YY_BREAK
  6539. | #line 817 "lex.yy.c"
  6540. | case YY_STATE_EOF(INITIAL):
  6541. | yyterminate();
  6542. |
  6543. | case YY_END_OF_BUFFER:
  6544. | {
  6545. | /* Amount of text matched not including the EOB char. */
  6546. | int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
  6547. |
  6548. | /* Undo the effects of YY_DO_BEFORE_ACTION. */
  6549. | *yy_cp = (yy_hold_char);
  6550. | YY_RESTORE_YY_MORE_OFFSET
  6551. |
  6552. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
  6553. | {
  6554. | /* We're scanning a new file or input source. It's
  6555. | * possible that this happened because the user
  6556. | * just pointed yyin at a new source and called
  6557. | * yylex(). If so, then we have to assure
  6558. | * consistency between YY_CURRENT_BUFFER and our
  6559. | * globals. Here is the right place to do so, because
  6560. | * this is the first action (other than possibly a
  6561. | * back-up) that will match for the new input source.
  6562. | */
  6563. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  6564. | YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
  6565. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
  6566. | }
  6567. |
  6568. | /* Note that here we test for yy_c_buf_p "<=" to the position
  6569. | * of the first EOB in the buffer, since yy_c_buf_p will
  6570. | * already have been incremented past the NUL character
  6571. | * (since all states make transitions on EOB to the
  6572. | * end-of-buffer state). Contrast this with the test
  6573. | * in input().
  6574. | */
  6575. | if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  6576. | { /* This was really a NUL. */
  6577. | yy_state_type yy_next_state;
  6578. |
  6579. | (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
  6580. |
  6581. | yy_current_state = yy_get_previous_state( );
  6582. |
  6583. | /* Okay, we're now positioned to make the NUL
  6584. | * transition. We couldn't have
  6585. | * yy_get_previous_state() go ahead and do it
  6586. | * for us because it doesn't know how to deal
  6587. | * with the possibility of jamming (and we don't
  6588. | * want to build jamming into it because then it
  6589. | * will run more slowly).
  6590. | */
  6591. |
  6592. | yy_next_state = yy_try_NUL_trans( yy_current_state );
  6593. |
  6594. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  6595. |
  6596. | if ( yy_next_state )
  6597. | {
  6598. | /* Consume the NUL. */
  6599. | yy_cp = ++(yy_c_buf_p);
  6600. | yy_current_state = yy_next_state;
  6601. | goto yy_match;
  6602. | }
  6603. |
  6604. | else
  6605. | {
  6606. | yy_cp = (yy_c_buf_p);
  6607. | goto yy_find_action;
  6608. | }
  6609. | }
  6610. |
  6611. | else switch ( yy_get_next_buffer( ) )
  6612. | {
  6613. | case EOB_ACT_END_OF_FILE:
  6614. | {
  6615. | (yy_did_buffer_switch_on_eof) = 0;
  6616. |
  6617. | if ( yywrap( ) )
  6618. | {
  6619. | /* Note: because we've taken care in
  6620. | * yy_get_next_buffer() to have set up
  6621. | * yytext, we can now set up
  6622. | * yy_c_buf_p so that if some total
  6623. | * hoser (like flex itself) wants to
  6624. | * call the scanner after we return the
  6625. | * YY_NULL, it'll still work - another
  6626. | * YY_NULL will get returned.
  6627. | */
  6628. | (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
  6629. |
  6630. | yy_act = YY_STATE_EOF(YY_START);
  6631. | goto do_action;
  6632. | }
  6633. |
  6634. | else
  6635. | {
  6636. | if ( ! (yy_did_buffer_switch_on_eof) )
  6637. | YY_NEW_FILE;
  6638. | }
  6639. | break;
  6640. | }
  6641. |
  6642. | case EOB_ACT_CONTINUE_SCAN:
  6643. | (yy_c_buf_p) =
  6644. | (yytext_ptr) + yy_amount_of_matched_text;
  6645. |
  6646. | yy_current_state = yy_get_previous_state( );
  6647. |
  6648. | yy_cp = (yy_c_buf_p);
  6649. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  6650. | goto yy_match;
  6651. |
  6652. | case EOB_ACT_LAST_MATCH:
  6653. | (yy_c_buf_p) =
  6654. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
  6655. |
  6656. | yy_current_state = yy_get_previous_state( );
  6657. |
  6658. | yy_cp = (yy_c_buf_p);
  6659. | yy_bp = (yytext_ptr) + YY_MORE_ADJ;
  6660. | goto yy_find_action;
  6661. | }
  6662. | break;
  6663. | }
  6664. |
  6665. | default:
  6666. | YY_FATAL_ERROR(
  6667. | "fatal flex scanner internal error--no action found" );
  6668. | } /* end of action switch */
  6669. | } /* end of scanning one token */
  6670. | } /* end of user's declarations */
  6671. | } /* end of yylex */
  6672. |
  6673. | /* yy_get_next_buffer - try to read in a new buffer
  6674. | *
  6675. | * Returns a code representing an action:
  6676. | * EOB_ACT_LAST_MATCH -
  6677. | * EOB_ACT_CONTINUE_SCAN - continue scanning from current position
  6678. | * EOB_ACT_END_OF_FILE - end of file
  6679. | */
  6680. | static int yy_get_next_buffer (void)
  6681. | {
  6682. | char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
  6683. | char *source = (yytext_ptr);
  6684. | yy_size_t number_to_move, i;
  6685. | int ret_val;
  6686. |
  6687. | if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
  6688. | YY_FATAL_ERROR(
  6689. | "fatal flex scanner internal error--end of buffer missed" );
  6690. |
  6691. | if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
  6692. | { /* Don't try to fill the buffer, so this is an EOF. */
  6693. | if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
  6694. | {
  6695. | /* We matched a single character, the EOB, so
  6696. | * treat this as a final EOF.
  6697. | */
  6698. | return EOB_ACT_END_OF_FILE;
  6699. | }
  6700. |
  6701. | else
  6702. | {
  6703. | /* We matched some text prior to the EOB, first
  6704. | * process it.
  6705. | */
  6706. | return EOB_ACT_LAST_MATCH;
  6707. | }
  6708. | }
  6709. |
  6710. | /* Try to read more data. */
  6711. |
  6712. | /* First move last chars to start of buffer. */
  6713. | number_to_move = (yy_size_t) ((yy_c_buf_p) - (yytext_ptr)) - 1;
  6714. |
  6715. | for ( i = 0; i < number_to_move; ++i )
  6716. | *(dest++) = *(source++);
  6717. |
  6718. | if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
  6719. | /* don't do the read, it's not guaranteed to return an EOF,
  6720. | * just force an EOF
  6721. | */
  6722. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
  6723. |
  6724. | else
  6725. | {
  6726. | yy_size_t num_to_read =
  6727. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
  6728. |
  6729. | while ( num_to_read <= 0 )
  6730. | { /* Not enough room in the buffer - grow it. */
  6731. |
  6732. | YY_FATAL_ERROR(
  6733. | "input buffer overflow, can't enlarge buffer because scanner uses REJECT" );
  6734. |
  6735. | }
  6736. |
  6737. | if ( num_to_read > YY_READ_BUF_SIZE )
  6738. | num_to_read = YY_READ_BUF_SIZE;
  6739. |
  6740. | /* Read in more data. */
  6741. | YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
  6742. | (yy_n_chars), num_to_read );
  6743. |
  6744. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  6745. | }
  6746. |
  6747. | if ( (yy_n_chars) == 0 )
  6748. | {
  6749. | if ( number_to_move == YY_MORE_ADJ )
  6750. | {
  6751. | ret_val = EOB_ACT_END_OF_FILE;
  6752. | yyrestart(yyin );
  6753. | }
  6754. |
  6755. | else
  6756. | {
  6757. | ret_val = EOB_ACT_LAST_MATCH;
  6758. | YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
  6759. | YY_BUFFER_EOF_PENDING;
  6760. | }
  6761. | }
  6762. |
  6763. | else
  6764. | ret_val = EOB_ACT_CONTINUE_SCAN;
  6765. |
  6766. | if ((int) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
  6767. | /* Extend the array by 50%, plus the number we really need. */
  6768. | int new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
  6769. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size );
  6770. | if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  6771. | YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
  6772. | }
  6773. |
  6774. | (yy_n_chars) += number_to_move;
  6775. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
  6776. | YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
  6777. |
  6778. | (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
  6779. |
  6780. | return ret_val;
  6781. | }
  6782. |
  6783. | /* yy_get_previous_state - get the state just before the EOB char was reached */
  6784. |
  6785. | static yy_state_type yy_get_previous_state (void)
  6786. | {
  6787. | yy_state_type yy_current_state;
  6788. | char *yy_cp;
  6789. |
  6790. | yy_current_state = (yy_start);
  6791. |
  6792. | (yy_state_ptr) = (yy_state_buf);
  6793. | *(yy_state_ptr)++ = yy_current_state;
  6794. |
  6795. | for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
  6796. | {
  6797. | YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
  6798. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  6799. | {
  6800. | yy_current_state = (int) yy_def[yy_current_state];
  6801. | if ( yy_current_state >= 13 )
  6802. | yy_c = yy_meta[(unsigned int) yy_c];
  6803. | }
  6804. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  6805. | *(yy_state_ptr)++ = yy_current_state;
  6806. | }
  6807. |
  6808. | return yy_current_state;
  6809. | }
  6810. |
  6811. | /* yy_try_NUL_trans - try to make a transition on the NUL character
  6812. | *
  6813. | * synopsis
  6814. | * next_state = yy_try_NUL_trans( current_state );
  6815. | */
  6816. | static yy_state_type yy_try_NUL_trans (yy_state_type yy_current_state )
  6817. | {
  6818. | int yy_is_jam;
  6819. |
  6820. | YY_CHAR yy_c = 1;
  6821. | while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
  6822. | {
  6823. | yy_current_state = (int) yy_def[yy_current_state];
  6824. | if ( yy_current_state >= 13 )
  6825. | yy_c = yy_meta[(unsigned int) yy_c];
  6826. | }
  6827. | yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
  6828. | yy_is_jam = (yy_current_state == 12);
  6829. | if ( ! yy_is_jam )
  6830. | *(yy_state_ptr)++ = yy_current_state;
  6831. |
  6832. | return yy_is_jam ? 0 : yy_current_state;
  6833. | }
  6834. |
  6835. | #ifndef YY_NO_UNPUT
  6836. |
  6837. | static void yyunput (int c, char * yy_bp )
  6838. | {
  6839. | char *yy_cp;
  6840. |
  6841. | yy_cp = (yy_c_buf_p);
  6842. |
  6843. | /* undo effects of setting up yytext */
  6844. | *yy_cp = (yy_hold_char);
  6845. |
  6846. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  6847. | { /* need to shift things up to make room */
  6848. | /* +2 for EOB chars. */
  6849. | yy_size_t number_to_move = (yy_n_chars) + 2;
  6850. | char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
  6851. | YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
  6852. | char *source =
  6853. | &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
  6854. |
  6855. | while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
  6856. | *--dest = *--source;
  6857. |
  6858. | yy_cp += (int) (dest - source);
  6859. | yy_bp += (int) (dest - source);
  6860. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
  6861. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
  6862. |
  6863. | if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
  6864. | YY_FATAL_ERROR( "flex scanner push-back overflow" );
  6865. | }
  6866. |
  6867. | *--yy_cp = (char) c;
  6868. |
  6869. | (yytext_ptr) = yy_bp;
  6870. | (yy_hold_char) = *yy_cp;
  6871. | (yy_c_buf_p) = yy_cp;
  6872. | }
  6873. |
  6874. | #endif
  6875. |
  6876. | #ifndef YY_NO_INPUT
  6877. | #ifdef __cplusplus
  6878. | static int yyinput (void)
  6879. | #else
  6880. | static int input (void)
  6881. | #endif
  6882. |
  6883. | {
  6884. | int c;
  6885. |
  6886. | *(yy_c_buf_p) = (yy_hold_char);
  6887. |
  6888. | if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
  6889. | {
  6890. | /* yy_c_buf_p now points to the character we want to return.
  6891. | * If this occurs *before* the EOB characters, then it's a
  6892. | * valid NUL; if not, then we've hit the end of the buffer.
  6893. | */
  6894. | if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
  6895. | /* This was really a NUL. */
  6896. | *(yy_c_buf_p) = '\0';
  6897. |
  6898. | else
  6899. | { /* need more input */
  6900. | yy_size_t offset = (yy_c_buf_p) - (yytext_ptr);
  6901. | ++(yy_c_buf_p);
  6902. |
  6903. | switch ( yy_get_next_buffer( ) )
  6904. | {
  6905. | case EOB_ACT_LAST_MATCH:
  6906. | /* This happens because yy_g_n_b()
  6907. | * sees that we've accumulated a
  6908. | * token and flags that we need to
  6909. | * try matching the token before
  6910. | * proceeding. But for input(),
  6911. | * there's no matching to consider.
  6912. | * So convert the EOB_ACT_LAST_MATCH
  6913. | * to EOB_ACT_END_OF_FILE.
  6914. | */
  6915. |
  6916. | /* Reset buffer status. */
  6917. | yyrestart(yyin );
  6918. |
  6919. | /*FALLTHROUGH*/
  6920. |
  6921. | case EOB_ACT_END_OF_FILE:
  6922. | {
  6923. | if ( yywrap( ) )
  6924. | return EOF;
  6925. |
  6926. | if ( ! (yy_did_buffer_switch_on_eof) )
  6927. | YY_NEW_FILE;
  6928. | #ifdef __cplusplus
  6929. | return yyinput();
  6930. | #else
  6931. | return input();
  6932. | #endif
  6933. | }
  6934. |
  6935. | case EOB_ACT_CONTINUE_SCAN:
  6936. | (yy_c_buf_p) = (yytext_ptr) + offset;
  6937. | break;
  6938. | }
  6939. | }
  6940. | }
  6941. |
  6942. | c = *(unsigned char *) (yy_c_buf_p); /* cast for 8-bit char's */
  6943. | *(yy_c_buf_p) = '\0'; /* preserve yytext */
  6944. | (yy_hold_char) = *++(yy_c_buf_p);
  6945. |
  6946. | return c;
  6947. | }
  6948. | #endif /* ifndef YY_NO_INPUT */
  6949. |
  6950. | /** Immediately switch to a different input stream.
  6951. | * @param input_file A readable stream.
  6952. | *
  6953. | * @note This function does not reset the start condition to @c INITIAL .
  6954. | */
  6955. | void yyrestart (FILE * input_file )
  6956. | {
  6957. |
  6958. | if ( ! YY_CURRENT_BUFFER ){
  6959. | yyensure_buffer_stack ();
  6960. | YY_CURRENT_BUFFER_LVALUE =
  6961. | yy_create_buffer(yyin,YY_BUF_SIZE );
  6962. | }
  6963. |
  6964. | yy_init_buffer(YY_CURRENT_BUFFER,input_file );
  6965. | yy_load_buffer_state( );
  6966. | }
  6967. |
  6968. | /** Switch to a different input buffer.
  6969. | * @param new_buffer The new input buffer.
  6970. | *
  6971. | */
  6972. | void yy_switch_to_buffer (YY_BUFFER_STATE new_buffer )
  6973. | {
  6974. |
  6975. | /* TODO. We should be able to replace this entire function body
  6976. | * with
  6977. | * yypop_buffer_state();
  6978. | * yypush_buffer_state(new_buffer);
  6979. | */
  6980. | yyensure_buffer_stack ();
  6981. | if ( YY_CURRENT_BUFFER == new_buffer )
  6982. | return;
  6983. |
  6984. | if ( YY_CURRENT_BUFFER )
  6985. | {
  6986. | /* Flush out information for old buffer. */
  6987. | *(yy_c_buf_p) = (yy_hold_char);
  6988. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  6989. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  6990. | }
  6991. |
  6992. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  6993. | yy_load_buffer_state( );
  6994. |
  6995. | /* We don't actually know whether we did this switch during
  6996. | * EOF (yywrap()) processing, but the only time this flag
  6997. | * is looked at is after yywrap() is called, so it's safe
  6998. | * to go ahead and always set it.
  6999. | */
  7000. | (yy_did_buffer_switch_on_eof) = 1;
  7001. | }
  7002. |
  7003. | static void yy_load_buffer_state (void)
  7004. | {
  7005. | (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
  7006. | (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
  7007. | yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
  7008. | (yy_hold_char) = *(yy_c_buf_p);
  7009. | }
  7010. |
  7011. | /** Allocate and initialize an input buffer state.
  7012. | * @param file A readable stream.
  7013. | * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
  7014. | *
  7015. | * @return the allocated buffer state.
  7016. | */
  7017. | YY_BUFFER_STATE yy_create_buffer (FILE * file, int size )
  7018. | {
  7019. | YY_BUFFER_STATE b;
  7020. |
  7021. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  7022. | if ( ! b )
  7023. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  7024. |
  7025. | b->yy_buf_size = (yy_size_t)size;
  7026. |
  7027. | /* yy_ch_buf has to be 2 characters longer than the size given because
  7028. | * we need to put in 2 end-of-buffer characters.
  7029. | */
  7030. | b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2 );
  7031. | if ( ! b->yy_ch_buf )
  7032. | YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
  7033. |
  7034. | b->yy_is_our_buffer = 1;
  7035. |
  7036. | yy_init_buffer(b,file );
  7037. |
  7038. | return b;
  7039. | }
  7040. |
  7041. | /** Destroy the buffer.
  7042. | * @param b a buffer created with yy_create_buffer()
  7043. | *
  7044. | */
  7045. | void yy_delete_buffer (YY_BUFFER_STATE b )
  7046. | {
  7047. |
  7048. | if ( ! b )
  7049. | return;
  7050. |
  7051. | if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
  7052. | YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
  7053. |
  7054. | if ( b->yy_is_our_buffer )
  7055. | yyfree((void *) b->yy_ch_buf );
  7056. |
  7057. | yyfree((void *) b );
  7058. | }
  7059. |
  7060. | /* Initializes or reinitializes a buffer.
  7061. | * This function is sometimes called more than once on the same buffer,
  7062. | * such as during a yyrestart() or at EOF.
  7063. | */
  7064. | static void yy_init_buffer (YY_BUFFER_STATE b, FILE * file )
  7065. |
  7066. | {
  7067. | int oerrno = errno;
  7068. |
  7069. | yy_flush_buffer(b );
  7070. |
  7071. | b->yy_input_file = file;
  7072. | b->yy_fill_buffer = 1;
  7073. |
  7074. | /* If b is the current buffer, then yy_init_buffer was _probably_
  7075. | * called from yyrestart() or through yy_get_next_buffer.
  7076. | * In that case, we don't want to reset the lineno or column.
  7077. | */
  7078. | if (b != YY_CURRENT_BUFFER){
  7079. | b->yy_bs_lineno = 1;
  7080. | b->yy_bs_column = 0;
  7081. | }
  7082. |
  7083. | b->yy_is_interactive = file ? (isatty( fileno(file) ) > 0) : 0;
  7084. |
  7085. | errno = oerrno;
  7086. | }
  7087. |
  7088. | /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  7089. | * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
  7090. | *
  7091. | */
  7092. | void yy_flush_buffer (YY_BUFFER_STATE b )
  7093. | {
  7094. | if ( ! b )
  7095. | return;
  7096. |
  7097. | b->yy_n_chars = 0;
  7098. |
  7099. | /* We always need two end-of-buffer characters. The first causes
  7100. | * a transition to the end-of-buffer state. The second causes
  7101. | * a jam in that state.
  7102. | */
  7103. | b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
  7104. | b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
  7105. |
  7106. | b->yy_buf_pos = &b->yy_ch_buf[0];
  7107. |
  7108. | b->yy_at_bol = 1;
  7109. | b->yy_buffer_status = YY_BUFFER_NEW;
  7110. |
  7111. | if ( b == YY_CURRENT_BUFFER )
  7112. | yy_load_buffer_state( );
  7113. | }
  7114. |
  7115. | /** Pushes the new state onto the stack. The new state becomes
  7116. | * the current state. This function will allocate the stack
  7117. | * if necessary.
  7118. | * @param new_buffer The new state.
  7119. | *
  7120. | */
  7121. | void yypush_buffer_state (YY_BUFFER_STATE new_buffer )
  7122. | {
  7123. | if (new_buffer == NULL)
  7124. | return;
  7125. |
  7126. | yyensure_buffer_stack();
  7127. |
  7128. | /* This block is copied from yy_switch_to_buffer. */
  7129. | if ( YY_CURRENT_BUFFER )
  7130. | {
  7131. | /* Flush out information for old buffer. */
  7132. | *(yy_c_buf_p) = (yy_hold_char);
  7133. | YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
  7134. | YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
  7135. | }
  7136. |
  7137. | /* Only push if top exists. Otherwise, replace top. */
  7138. | if (YY_CURRENT_BUFFER)
  7139. | (yy_buffer_stack_top)++;
  7140. | YY_CURRENT_BUFFER_LVALUE = new_buffer;
  7141. |
  7142. | /* copied from yy_switch_to_buffer. */
  7143. | yy_load_buffer_state( );
  7144. | (yy_did_buffer_switch_on_eof) = 1;
  7145. | }
  7146. |
  7147. | /** Removes and deletes the top of the stack, if present.
  7148. | * The next element becomes the new top.
  7149. | *
  7150. | */
  7151. | void yypop_buffer_state (void)
  7152. | {
  7153. | if (!YY_CURRENT_BUFFER)
  7154. | return;
  7155. |
  7156. | yy_delete_buffer(YY_CURRENT_BUFFER );
  7157. | YY_CURRENT_BUFFER_LVALUE = NULL;
  7158. | if ((yy_buffer_stack_top) > 0)
  7159. | --(yy_buffer_stack_top);
  7160. |
  7161. | if (YY_CURRENT_BUFFER) {
  7162. | yy_load_buffer_state( );
  7163. | (yy_did_buffer_switch_on_eof) = 1;
  7164. | }
  7165. | }
  7166. |
  7167. | /* Allocates the stack if it does not exist.
  7168. | * Guarantees space for at least one push.
  7169. | */
  7170. | static void yyensure_buffer_stack (void)
  7171. | {
  7172. | yy_size_t num_to_alloc;
  7173. |
  7174. | if (!(yy_buffer_stack)) {
  7175. |
  7176. | /* First allocation is just for 2 elements, since we don't know if this
  7177. | * scanner will even need a stack. We use 2 instead of 1 to avoid an
  7178. | * immediate realloc on the next call.
  7179. | */
  7180. | num_to_alloc = 1; /* After all that talk, this was set to 1 anyways... */
  7181. | (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
  7182. | (num_to_alloc * sizeof(struct yy_buffer_state*)
  7183. | );
  7184. | if ( ! (yy_buffer_stack) )
  7185. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  7186. |
  7187. | memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
  7188. |
  7189. | (yy_buffer_stack_max) = num_to_alloc;
  7190. | (yy_buffer_stack_top) = 0;
  7191. | return;
  7192. | }
  7193. |
  7194. | if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
  7195. |
  7196. | /* Increase the buffer to prepare for a possible push. */
  7197. | yy_size_t grow_size = 8 /* arbitrary grow size */;
  7198. |
  7199. | num_to_alloc = (yy_buffer_stack_max) + grow_size;
  7200. | (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
  7201. | ((yy_buffer_stack),
  7202. | num_to_alloc * sizeof(struct yy_buffer_state*)
  7203. | );
  7204. | if ( ! (yy_buffer_stack) )
  7205. | YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
  7206. |
  7207. | /* zero only the new slots.*/
  7208. | memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
  7209. | (yy_buffer_stack_max) = num_to_alloc;
  7210. | }
  7211. | }
  7212. |
  7213. | /** Setup the input buffer state to scan directly from a user-specified character buffer.
  7214. | * @param base the character buffer
  7215. | * @param size the size in bytes of the character buffer
  7216. | *
  7217. | * @return the newly allocated buffer state object.
  7218. | */
  7219. | YY_BUFFER_STATE yy_scan_buffer (char * base, yy_size_t size )
  7220. | {
  7221. | YY_BUFFER_STATE b;
  7222. |
  7223. | if ( size < 2 ||
  7224. | base[size-2] != YY_END_OF_BUFFER_CHAR ||
  7225. | base[size-1] != YY_END_OF_BUFFER_CHAR )
  7226. | /* They forgot to leave room for the EOB's. */
  7227. | return 0;
  7228. |
  7229. | b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state ) );
  7230. | if ( ! b )
  7231. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_buffer()" );
  7232. |
  7233. | b->yy_buf_size = size - 2; /* "- 2" to take care of EOB's */
  7234. | b->yy_buf_pos = b->yy_ch_buf = base;
  7235. | b->yy_is_our_buffer = 0;
  7236. | b->yy_input_file = 0;
  7237. | b->yy_n_chars = b->yy_buf_size;
  7238. | b->yy_is_interactive = 0;
  7239. | b->yy_at_bol = 1;
  7240. | b->yy_fill_buffer = 0;
  7241. | b->yy_buffer_status = YY_BUFFER_NEW;
  7242. |
  7243. | yy_switch_to_buffer(b );
  7244. |
  7245. | return b;
  7246. | }
  7247. |
  7248. | /** Setup the input buffer state to scan a string. The next call to yylex() will
  7249. | * scan from a @e copy of @a str.
  7250. | * @param yystr a NUL-terminated string to scan
  7251. | *
  7252. | * @return the newly allocated buffer state object.
  7253. | * @note If you want to scan bytes that may contain NUL values, then use
  7254. | * yy_scan_bytes() instead.
  7255. | */
  7256. | YY_BUFFER_STATE yy_scan_string (yyconst char * yystr )
  7257. | {
  7258. |
  7259. | return yy_scan_bytes(yystr,strlen(yystr) );
  7260. | }
  7261. |
  7262. | /** Setup the input buffer state to scan the given bytes. The next call to yylex() will
  7263. | * scan from a @e copy of @a bytes.
  7264. | * @param yybytes the byte buffer to scan
  7265. | * @param _yybytes_len the number of bytes in the buffer pointed to by @a bytes.
  7266. | *
  7267. | * @return the newly allocated buffer state object.
  7268. | */
  7269. | YY_BUFFER_STATE yy_scan_bytes (yyconst char * yybytes, yy_size_t _yybytes_len )
  7270. | {
  7271. | YY_BUFFER_STATE b;
  7272. | char *buf;
  7273. | yy_size_t n;
  7274. | yy_size_t i;
  7275. |
  7276. | /* Get memory for full buffer, including space for trailing EOB's. */
  7277. | n = _yybytes_len + 2;
  7278. | buf = (char *) yyalloc(n );
  7279. | if ( ! buf )
  7280. | YY_FATAL_ERROR( "out of dynamic memory in yy_scan_bytes()" );
  7281. |
  7282. | for ( i = 0; i < _yybytes_len; ++i )
  7283. | buf[i] = yybytes[i];
  7284. |
  7285. | buf[_yybytes_len] = buf[_yybytes_len+1] = YY_END_OF_BUFFER_CHAR;
  7286. |
  7287. | b = yy_scan_buffer(buf,n );
  7288. | if ( ! b )
  7289. | YY_FATAL_ERROR( "bad buffer in yy_scan_bytes()" );
  7290. |
  7291. | /* It's okay to grow etc. this buffer, and we should throw it
  7292. | * away when we're done.
  7293. | */
  7294. | b->yy_is_our_buffer = 1;
  7295. |
  7296. | return b;
  7297. | }
  7298. |
  7299. | #ifndef YY_EXIT_FAILURE
  7300. | #define YY_EXIT_FAILURE 2
  7301. | #endif
  7302. |
  7303. | static void yy_fatal_error (yyconst char* msg )
  7304. | {
  7305. | (void) fprintf( stderr, "%s\n", msg );
  7306. | exit( YY_EXIT_FAILURE );
  7307. | }
  7308. |
  7309. | /* Redefine yyless() so it works in section 3 code. */
  7310. |
  7311. | #undef yyless
  7312. | #define yyless(n) \
  7313. | do \
  7314. | { \
  7315. | /* Undo effects of setting up yytext. */ \
  7316. | int yyless_macro_arg = (n); \
  7317. | YY_LESS_LINENO(yyless_macro_arg);\
  7318. | yytext[yyleng] = (yy_hold_char); \
  7319. | (yy_c_buf_p) = yytext + yyless_macro_arg; \
  7320. | (yy_hold_char) = *(yy_c_buf_p); \
  7321. | *(yy_c_buf_p) = '\0'; \
  7322. | yyleng = yyless_macro_arg; \
  7323. | } \
  7324. | while ( 0 )
  7325. |
  7326. | /* Accessor methods (get/set functions) to struct members. */
  7327. |
  7328. | /** Get the current line number.
  7329. | *
  7330. | */
  7331. | int yyget_lineno (void)
  7332. | {
  7333. |
  7334. | return yylineno;
  7335. | }
  7336. |
  7337. | /** Get the input stream.
  7338. | *
  7339. | */
  7340. | FILE *yyget_in (void)
  7341. | {
  7342. | return yyin;
  7343. | }
  7344. |
  7345. | /** Get the output stream.
  7346. | *
  7347. | */
  7348. | FILE *yyget_out (void)
  7349. | {
  7350. | return yyout;
  7351. | }
  7352. |
  7353. | /** Get the length of the current token.
  7354. | *
  7355. | */
  7356. | yy_size_t yyget_leng (void)
  7357. | {
  7358. | return yyleng;
  7359. | }
  7360. |
  7361. | /** Get the current token.
  7362. | *
  7363. | */
  7364. |
  7365. | char *yyget_text (void)
  7366. | {
  7367. | return yytext;
  7368. | }
  7369. |
  7370. | /** Set the current line number.
  7371. | * @param _line_number line number
  7372. | *
  7373. | */
  7374. | void yyset_lineno (int _line_number )
  7375. | {
  7376. |
  7377. | yylineno = _line_number;
  7378. | }
  7379. |
  7380. | /** Set the input stream. This does not discard the current
  7381. | * input buffer.
  7382. | * @param _in_str A readable stream.
  7383. | *
  7384. | * @see yy_switch_to_buffer
  7385. | */
  7386. | void yyset_in (FILE * _in_str )
  7387. | {
  7388. | yyin = _in_str ;
  7389. | }
  7390. |
  7391. | void yyset_out (FILE * _out_str )
  7392. | {
  7393. | yyout = _out_str ;
  7394. | }
  7395. |
  7396. | int yyget_debug (void)
  7397. | {
  7398. | return yy_flex_debug;
  7399. | }
  7400. |
  7401. | void yyset_debug (int _bdebug )
  7402. | {
  7403. | yy_flex_debug = _bdebug ;
  7404. | }
  7405. |
  7406. | static int yy_init_globals (void)
  7407. | {
  7408. | /* Initialization is the same as for the non-reentrant scanner.
  7409. | * This function is called from yylex_destroy(), so don't allocate here.
  7410. | */
  7411. |
  7412. | (yy_buffer_stack) = 0;
  7413. | (yy_buffer_stack_top) = 0;
  7414. | (yy_buffer_stack_max) = 0;
  7415. | (yy_c_buf_p) = (char *) 0;
  7416. | (yy_init) = 0;
  7417. | (yy_start) = 0;
  7418. |
  7419. | (yy_state_buf) = 0;
  7420. | (yy_state_ptr) = 0;
  7421. | (yy_full_match) = 0;
  7422. | (yy_lp) = 0;
  7423. |
  7424. | /* Defined in main.c */
  7425. | #ifdef YY_STDINIT
  7426. | yyin = stdin;
  7427. | yyout = stdout;
  7428. | #else
  7429. | yyin = (FILE *) 0;
  7430. | yyout = (FILE *) 0;
  7431. | #endif
  7432. |
  7433. | /* For future reference: Set errno on error, since we are called by
  7434. | * yylex_init()
  7435. | */
  7436. | return 0;
  7437. | }
  7438. |
  7439. | /* yylex_destroy is for both reentrant and non-reentrant scanners. */
  7440. | int yylex_destroy (void)
  7441. | {
  7442. |
  7443. | /* Pop the buffer stack, destroying each element. */
  7444. | while(YY_CURRENT_BUFFER){
  7445. | yy_delete_buffer(YY_CURRENT_BUFFER );
  7446. | YY_CURRENT_BUFFER_LVALUE = NULL;
  7447. | yypop_buffer_state();
  7448. | }
  7449. |
  7450. | /* Destroy the stack itself. */
  7451. | yyfree((yy_buffer_stack) );
  7452. | (yy_buffer_stack) = NULL;
  7453. |
  7454. | yyfree ( (yy_state_buf) );
  7455. | (yy_state_buf) = NULL;
  7456. |
  7457. | /* Reset the globals. This is important in a non-reentrant scanner so the next time
  7458. | * yylex() is called, initialization will occur. */
  7459. | yy_init_globals( );
  7460. |
  7461. | return 0;
  7462. | }
  7463. |
  7464. | /*
  7465. | * Internal utility routines.
  7466. | */
  7467. |
  7468. | #ifndef yytext_ptr
  7469. | static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
  7470. | {
  7471. |
  7472. | int i;
  7473. | for ( i = 0; i < n; ++i )
  7474. | s1[i] = s2[i];
  7475. | }
  7476. | #endif
  7477. |
  7478. | #ifdef YY_NEED_STRLEN
  7479. | static int yy_flex_strlen (yyconst char * s )
  7480. | {
  7481. | int n;
  7482. | for ( n = 0; s[n]; ++n )
  7483. | ;
  7484. |
  7485. | return n;
  7486. | }
  7487. | #endif
  7488. |
  7489. | void *yyalloc (yy_size_t size )
  7490. | {
  7491. | return (void *) malloc( size );
  7492. | }
  7493. |
  7494. | void *yyrealloc (void * ptr, yy_size_t size )
  7495. | {
  7496. |
  7497. | /* The cast to (char *) in the following accommodates both
  7498. | * implementations that use char* generic pointers, and those
  7499. | * that use void* generic pointers. It works with the latter
  7500. | * because both ANSI C and C++ allow castless assignment from
  7501. | * any pointer type to void*, and deal with argument conversions
  7502. | * as though doing an assignment.
  7503. | */
  7504. | return (void *) realloc( (char *) ptr, size );
  7505. | }
  7506. |
  7507. | void yyfree (void * ptr )
  7508. | {
  7509. | free( (char *) ptr ); /* see yyrealloc() for (char *) cast */
  7510. | }
  7511. |
  7512. | #define YYTABLES_NAME "yytables"
  7513. |
  7514. | #line 10 "conftest.l"
  7515. |
  7516. |
  7517. | #ifdef YYTEXT_POINTER
  7518. | extern char *yytext;
  7519. | #endif
  7520. | int
  7521. | main (void)
  7522. | {
  7523. | return ! yylex () + ! yywrap ();
  7524. | }
  7525. configure:4096: result: no
  7526. configure:4117: checking for make
  7527. configure:4133: found /usr/bin/make
  7528. configure:4145: result: make
  7529. configure:4166: checking for perl
  7530. configure:4182: found /usr/bin/perl
  7531. configure:4194: result: perl
  7532. configure:4216: checking for swig
  7533. configure:4244: result: not found
  7534. configure:4269: checking for math with CFLAGS="" LIBS=""
  7535. configure:4283: g++ -o conftest -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp >&5
  7536. configure:4283: $? = 0
  7537. configure:4284: result: yes
  7538. configure:4344: checking for standard C++ lib with CFLAGS="" LIBS="-lstdc++"
  7539. configure:4358: g++ -o conftest -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -lstdc++ >&5
  7540. configure:4358: $? = 0
  7541. configure:4359: result: yes
  7542. configure:4458: checking for dlopen with CFLAGS="" LIBS=""
  7543. configure:4472: g++ -o conftest -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp >&5
  7544. /tmp/cc3XQmuX.o: In function `main':
  7545. conftest.cpp:(.text+0xf): undefined reference to `dlopen'
  7546. collect2: error: ld returned 1 exit status
  7547. configure:4472: $? = 1
  7548. configure: failed program was:
  7549. | /* confdefs.h */
  7550. | #define PACKAGE_NAME ""
  7551. | #define PACKAGE_TARNAME ""
  7552. | #define PACKAGE_VERSION ""
  7553. | #define PACKAGE_STRING ""
  7554. | #define PACKAGE_BUGREPORT ""
  7555. | #define PACKAGE_URL ""
  7556. | #define HAVE_SWAPCONTEXT 1
  7557. | /* end confdefs.h. */
  7558. | #include <dlfcn.h>
  7559. | int
  7560. | main ()
  7561. | {
  7562. | dlopen("",0);
  7563. | ;
  7564. | return 0;
  7565. | }
  7566. configure:4476: result: no
  7567. configure:4493: checking for dlopen with CFLAGS="" LIBS="-ldl"
  7568. configure:4507: g++ -o conftest -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -ldl >&5
  7569. configure:4507: $? = 0
  7570. configure:4508: result: yes
  7571. configure:4538: checking for qmake
  7572. configure:4556: found /usr/bin/qmake
  7573. configure:4568: result: /usr/bin/qmake
  7574. configure:4588: checking for moc
  7575. configure:4606: found /usr/bin/moc
  7576. configure:4618: result: /usr/bin/moc
  7577. configure:4634: checking for uic
  7578. configure:4652: found /usr/bin/uic
  7579. configure:4664: result: /usr/bin/uic
  7580. configure:4680: checking for rcc
  7581. configure:4698: found /usr/bin/rcc
  7582. configure:4710: result: /usr/bin/rcc
  7583. configure:4744: checking for Qt5 with CFLAGS=" -std=c++11 -fPIC -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -fPIC -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport" LIBS="-lQt5Gui -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL -L/usr/lib/x86_64-linux-gnu -Wl,-rpath=/usr/lib/x86_64-linux-gnu"
  7584. configure:4758: g++ -o conftest -std=c++11 -fPIC -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -lQt5Gui -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL -L/usr/lib/x86_64-linux-gnu -Wl,-rpath=/usr/lib/x86_64-linux-gnu >&5
  7585. conftest.cpp:17:11: warning: extra tokens at end of #endif directive [-Wendif-labels]
  7586. #endif;
  7587. ^
  7588. configure:4758: $? = 0
  7589. configure:4759: result: yes
  7590. configure:4887: checking for OpenSceneGraph with CFLAGS=" -fPIC -fno-stack-protector " LIBS=" -losg -losgDB -losgGA -losgViewer -losgUtil -lOpenThreads"
  7591. configure:4901: g++ -o conftest -fPIC -fno-stack-protector -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -losg -losgDB -losgGA -losgViewer -losgUtil -lOpenThreads >&5
  7592. conftest.cpp:18:7: warning: extra tokens at end of #endif directive [-Wendif-labels]
  7593. #endif;
  7594. ^
  7595. configure:4901: $? = 0
  7596. configure:4902: result: yes
  7597. configure:4927: checking for osgEarth with CFLAGS=" -fPIC -fno-stack-protector " LIBS=" -losgEarth -losgEarthUtil"
  7598. configure:4941: g++ -o conftest -fPIC -fno-stack-protector -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,. conftest.cpp -losgEarth -losgEarthUtil >&5
  7599. conftest.cpp:18:7: warning: extra tokens at end of #endif directive [-Wendif-labels]
  7600. #endif;
  7601. ^
  7602. //usr/lib/x86_64-linux-gnu/libspatialite.so.7: undefined reference to `GEOSDelaunayTriangulation'
  7603. //usr/lib/libgdal.so.20: undefined reference to `GEOSDelaunayTriangulation_r'
  7604. collect2: error: ld returned 1 exit status
  7605. configure:4941: $? = 1
  7606. configure: failed program was:
  7607. | /* confdefs.h */
  7608. | #define PACKAGE_NAME ""
  7609. | #define PACKAGE_TARNAME ""
  7610. | #define PACKAGE_VERSION ""
  7611. | #define PACKAGE_STRING ""
  7612. | #define PACKAGE_BUGREPORT ""
  7613. | #define PACKAGE_URL ""
  7614. | #define HAVE_SWAPCONTEXT 1
  7615. | /* end confdefs.h. */
  7616. | #include <osgEarth/Version>
  7617. | int
  7618. | main ()
  7619. | {
  7620. | #if OSGEARTH_VERSION_LESS_THAN(2, 7, 0)
  7621. | #error Requires osgEarth 2.7 or later
  7622. | #else
  7623. | osgEarthGetVersion();
  7624. | #endif;
  7625. | ;
  7626. | return 0;
  7627. | }
  7628. configure:4945: result: no
  7629. configure:4955: error: Cannot find osgEarth 2.7 or later. Set WITH_OSGEARTH=no in configure.user to disable this feature or install an up to date version of osgEarth.
  7630.  
  7631. ## ---------------- ##
  7632. ## Cache variables. ##
  7633. ## ---------------- ##
  7634.  
  7635. ac_cv_build=x86_64-unknown-linux-gnu
  7636. ac_cv_c_compiler_gnu=yes
  7637. ac_cv_cxx_compiler_gnu=yes
  7638. ac_cv_env_CCC_set=
  7639. ac_cv_env_CCC_value=
  7640. ac_cv_env_CC_set=
  7641. ac_cv_env_CC_value=
  7642. ac_cv_env_CFLAGS_set=
  7643. ac_cv_env_CFLAGS_value=
  7644. ac_cv_env_CPPFLAGS_set=
  7645. ac_cv_env_CPPFLAGS_value=
  7646. ac_cv_env_CXXCPP_set=
  7647. ac_cv_env_CXXCPP_value=
  7648. ac_cv_env_CXXFLAGS_set=
  7649. ac_cv_env_CXXFLAGS_value=
  7650. ac_cv_env_CXX_set=
  7651. ac_cv_env_CXX_value=
  7652. ac_cv_env_LDFLAGS_set=
  7653. ac_cv_env_LDFLAGS_value=
  7654. ac_cv_env_LIBS_set=
  7655. ac_cv_env_LIBS_value=
  7656. ac_cv_env_PERL_set=
  7657. ac_cv_env_PERL_value=
  7658. ac_cv_env_SWIG_set=
  7659. ac_cv_env_SWIG_value=
  7660. ac_cv_env_XMKMF_set=
  7661. ac_cv_env_XMKMF_value=
  7662. ac_cv_env_YACC_set=
  7663. ac_cv_env_YACC_value=
  7664. ac_cv_env_YFLAGS_set=
  7665. ac_cv_env_YFLAGS_value=
  7666. ac_cv_env_build_alias_set=
  7667. ac_cv_env_build_alias_value=
  7668. ac_cv_env_host_alias_set=
  7669. ac_cv_env_host_alias_value=
  7670. ac_cv_env_target_alias_set=
  7671. ac_cv_env_target_alias_value=
  7672. ac_cv_func_swapcontext=yes
  7673. ac_cv_host=x86_64-unknown-linux-gnu
  7674. ac_cv_lib_lex='none needed'
  7675. ac_cv_objext=o
  7676. ac_cv_path_MOC=/usr/bin/moc
  7677. ac_cv_path_QMAKE=/usr/bin/qmake
  7678. ac_cv_path_RCC=/usr/bin/rcc
  7679. ac_cv_path_UIC=/usr/bin/uic
  7680. ac_cv_prog_LEX=flex
  7681. ac_cv_prog_MAKE=make
  7682. ac_cv_prog_PERL=perl
  7683. ac_cv_prog_SWIG='not found'
  7684. ac_cv_prog_YACC='bison -y'
  7685. ac_cv_prog_ac_ct_CC=gcc
  7686. ac_cv_prog_ac_ct_CXX=g++
  7687. ac_cv_prog_ac_ct_RANLIB=ranlib
  7688. ac_cv_prog_cc_c89=
  7689. ac_cv_prog_cc_g=yes
  7690. ac_cv_prog_cxx_g=yes
  7691. ac_cv_prog_lex_root=lex.yy
  7692. ac_cv_prog_lex_yytext_pointer=no
  7693. ac_cv_prog_tmp_CXX=g++
  7694.  
  7695. ## ----------------- ##
  7696. ## Output variables. ##
  7697. ## ----------------- ##
  7698.  
  7699. AKAROA_CFLAGS=''
  7700. AKAROA_LIBS=''
  7701. AR='ar cr'
  7702. ARFLAG_OUT=''
  7703. AS='as'
  7704. AS_NEEDED_OFF='-Wl,--no-as-needed'
  7705. AS_NEEDED_ON='-Wl,--as-needed'
  7706. A_LIB_SUFFIX='.a'
  7707. CC='gcc'
  7708. CFLAGS=' -fPIC'
  7709. CFLAGS_DEBUG=' -g -Wall'
  7710. CFLAGS_RELEASE=' -O3 -DNDEBUG=1'
  7711. CPPFLAGS=''
  7712. CXX='g++'
  7713. CXXCPP=''
  7714. CXXFLAGS=' -std=c++11'
  7715. DEFINES=' -DHAVE_SWAPCONTEXT'
  7716. DEFS=''
  7717. DLLTOOL='dlltool'
  7718. DLL_LIB_SUFFIX='.dll'
  7719. ECHO_C=''
  7720. ECHO_N='-n'
  7721. ECHO_T=''
  7722. EMBED_TCL_CODE='yes'
  7723. EXEEXT=''
  7724. EXE_SUFFIX=''
  7725. HAVE_DLOPEN='1'
  7726. JAVA_CFLAGS=''
  7727. JAVA_LIBS=''
  7728. JNILIBS_IF_POSSIBLE=''
  7729. JNI_LIB_SUFFIX='$(SO_LIB_SUFFIX)'
  7730. JRE=''
  7731. LDFLAGS=' -Wl,-rpath,$(OMNETPP_LIB_DIR) -Wl,-rpath,$(OMNETPP_TOOLS_DIR)/lib -Wl,-rpath,.'
  7732. LDFLAG_IMPLIB='-Wl,--out-implib,'
  7733. LDFLAG_INCLUDE='-Wl,-u,'
  7734. LDFLAG_LIB='-l'
  7735. LDFLAG_LIBPATH='-L'
  7736. LEX='flex'
  7737. LEXLIB=''
  7738. LEX_OUTPUT_ROOT='lex.yy'
  7739. LIBOBJS=''
  7740. LIBS=''
  7741. LIB_PREFIX='lib'
  7742. LN='ln -f'
  7743. LTLIBOBJS=''
  7744. MAKE='make'
  7745. MAKEDEPEND='opp_makedep -Y --objdirtree'
  7746. MKPATH='mkdir -p'
  7747. MOC='/usr/bin/moc'
  7748. MPICPP=''
  7749. MPICXX=''
  7750. MPI_CFLAGS=''
  7751. MPI_LIBS=''
  7752. MSGC='opp_msgc'
  7753. NEDTOOL='opp_nedtool'
  7754. OBJEXT='o'
  7755. OMNETPP_BUILDID='180411-87513e3'
  7756. OMNETPP_EDITION='Academic Public License -- NOT FOR COMMERCIAL USE'
  7757. OMNETPP_PRODUCT='OMNeT++'
  7758. OMNETPP_RELEASE='omnetpp-5.3'
  7759. OMNETPP_VERSION='5.3'
  7760. OSGEARTH_CFLAGS=''
  7761. OSGEARTH_LIBS='-losgEarth -losgEarthUtil'
  7762. OSG_CFLAGS=''
  7763. OSG_LIBS='-losg -losgDB -losgGA -losgViewer -losgUtil -lOpenThreads'
  7764. PACKAGE_BUGREPORT=''
  7765. PACKAGE_NAME=''
  7766. PACKAGE_STRING=''
  7767. PACKAGE_TARNAME=''
  7768. PACKAGE_URL=''
  7769. PACKAGE_VERSION=''
  7770. PATH_SEPARATOR=':'
  7771. PERL='perl'
  7772. PIC_FLAGS='-fPIC'
  7773. PLATFORM='linux.x86_64'
  7774. PREFER_SQLITE_RESULT_FILES='no'
  7775. PRIVATE_JRE=''
  7776. PTHREAD_CFLAGS=''
  7777. PTHREAD_LIBS=''
  7778. QMAKE='/usr/bin/qmake'
  7779. QTENV_LDFLAGS='-Wl,-rpath-link=/usr/lib/x86_64-linux-gnu'
  7780. QT_CFLAGS='-isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtOpenGL -isystem /usr/include/x86_64-linux-gnu/qt5/QtPrintSupport'
  7781. QT_LIBS='-lQt5Gui -lQt5Core -lQt5Widgets -lQt5PrintSupport -lQt5OpenGL -L/usr/lib/x86_64-linux-gnu -Wl,-rpath=/usr/lib/x86_64-linux-gnu'
  7782. RANLIB='ranlib'
  7783. RCC='/usr/bin/rcc'
  7784. SHARED_LIBS='yes'
  7785. SHARED_LIB_SUFFIX='$(SO_LIB_SUFFIX)'
  7786. SHELL='/bin/bash'
  7787. SHLIB_LD='g++ -shared -fPIC'
  7788. SHLIB_POSTPROCESS='opp_shlib_postprocess'
  7789. SMC='opp_smc'
  7790. SO_LIB_SUFFIX='.so'
  7791. STRIP='strip'
  7792. SWIG='not found'
  7793. SYS_LIBS='-ldl -lstdc++ '
  7794. TK_CFLAGS=''
  7795. TK_LIBS=''
  7796. TOOLCHAIN_NAME='gcc'
  7797. UIC='/usr/bin/uic'
  7798. WHOLE_ARCHIVE_OFF='-Wl,--no-whole-archive'
  7799. WHOLE_ARCHIVE_ON='-Wl,--whole-archive'
  7800. WISH=''
  7801. WITH_NETBUILDER='yes'
  7802. WITH_OSG='yes'
  7803. WITH_OSGEARTH='yes'
  7804. WITH_PARSIM='yes'
  7805. WITH_QTENV='yes'
  7806. WITH_SYSTEMC='no'
  7807. WITH_TKENV='no'
  7808. XMKMF=''
  7809. XMLPARSER=''
  7810. XML_CFLAGS=''
  7811. XML_LIBS=''
  7812. YACC='bison -y'
  7813. YFLAGS=''
  7814. ZLIB_CFLAGS=''
  7815. ZLIB_LIBS=''
  7816. ac_ct_CC='gcc'
  7817. ac_ct_CXX='g++'
  7818. bindir='${exec_prefix}/bin'
  7819. build='x86_64-unknown-linux-gnu'
  7820. build_alias=''
  7821. build_cpu='x86_64'
  7822. build_os='linux-gnu'
  7823. build_vendor='unknown'
  7824. datadir='${datarootdir}'
  7825. datarootdir='${prefix}/share'
  7826. docdir='${datarootdir}/doc/${PACKAGE}'
  7827. dvidir='${docdir}'
  7828. exec_prefix='NONE'
  7829. host='x86_64-unknown-linux-gnu'
  7830. host_alias=''
  7831. host_cpu='x86_64'
  7832. host_os='linux-gnu'
  7833. host_vendor='unknown'
  7834. htmldir='${docdir}'
  7835. includedir='${prefix}/include'
  7836. infodir='${datarootdir}/info'
  7837. libdir='${exec_prefix}/lib'
  7838. libexecdir='${exec_prefix}/libexec'
  7839. localedir='${datarootdir}/locale'
  7840. localstatedir='${prefix}/var'
  7841. mandir='${datarootdir}/man'
  7842. oldincludedir='/usr/include'
  7843. pdfdir='${docdir}'
  7844. prefix='NONE'
  7845. program_transform_name='s,x,x,'
  7846. psdir='${docdir}'
  7847. runstatedir='${localstatedir}/run'
  7848. sbindir='${exec_prefix}/sbin'
  7849. sharedstatedir='${prefix}/com'
  7850. sysconfdir='${prefix}/etc'
  7851. target_alias=''
  7852. tmp_CXX='g++'
  7853.  
  7854. ## ----------- ##
  7855. ## confdefs.h. ##
  7856. ## ----------- ##
  7857.  
  7858. /* confdefs.h */
  7859. #define PACKAGE_NAME ""
  7860. #define PACKAGE_TARNAME ""
  7861. #define PACKAGE_VERSION ""
  7862. #define PACKAGE_STRING ""
  7863. #define PACKAGE_BUGREPORT ""
  7864. #define PACKAGE_URL ""
  7865. #define HAVE_SWAPCONTEXT 1
  7866.  
  7867. configure: exit 1
Add Comment
Please, Sign In to add comment