_ts1.0_lexer.cpp 64 KB

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