flexϸ½Ú
ÉîδÀ´¼¼Êõ
1¡¢ÔÚflexÖУ¬²»ÄÜÖØÐ¶¨Òåinput()»òunput()£¬µ«ÊÇÄÜÖØÐ¶¨ÒåYY_INPUT£¬ËüÊÇflexµ÷ÓõĴÓÊäÈëÎļþÖжÁÈ¡Îı¾µÄºê¡£flex»º³åÇø£¬±»¶¨ÒåΪYY_BUFFER_STATEÀàÐÍ¡£Àý³Ìyy_create_buffer(FILE*,size0)Éú³ÉÖ¸¶¨´óСµÄflex»º³åÇø£¬Í¨³£ÊÇYY_BUF_SIZE£¬ÓÃÓÚ¶ÁÈ¡stdioFILE¡£¶Ôyy_swithc_to_buffer(flexbuf)µÄµ÷ÓøæËßɨÃè³ÌÐò¶ÁÈ¡ÏàÓ¦µÄÎļþ£¬¶øyy_delete_buffer(flexbuf)ɾ³ýflex»º³åÇø¡£µ±Ç°»º³åÇøÊÇYY_CURRENT_BUFFER£¬<<EOF>>ÔÚµ÷ÓÃyywrap()Ö®ºóÆ¥ÅäÎļþµÄ½áβ¡£
2¡¢yywrap()µ±´Ê·¨·ÖÎö³ÌÐòµ½´ïÊäÈëÎļþµÄ½áβʱ£¬µ÷Óá£
3¡¢¿ÉÒÔÖØÐ¶¨ÒåYY_INPUT£¬ÓÃÓÚ¶ÁÈ¡Êý¾Ý¿éµÄºê¡£
YY_INPUT(buffer,result,max_size)
buffer:×Ö·û»º³åÇø
result:´æ´¢¶ÁÈ¡µÄ×Ö·ûÊýµÄ±äÁ¿
max_size:»º³åÇøµÄ´óС
4¡¢yylinenoÊÇÊäÈëÎļþµÄÐкÅ
1¡¢REJECT:ÕÒµ½Öصþ±ê¼ÇµÄËùÓгöÏÖ¡£È磺ÕÒµ½µ¥´Êpink,ink,pinµÄËùÓгöÏÖ
...
%%
pink {npink++;REJECT;}
ink {nink++;REJECT;}
pin {npin++;REJECT;}
...
Èç¹ûÊäÈëµ¥´Êpink,ËùÓÐ3¸öģʽ¶¼Æ¥Å䡣ûÓÐREJECTÓï¾ä£¬ÄǾÍÖ»ÓÐ"pink"Æ¥Åä¡£
2¡¢yylex()
´Óyylex()ÖÐÏòµ÷ÓÃÕߣ¨Í¨³£ÊÇÓï·¨·ÖÎö³ÌÐò£©·µ»ØÒ»¸öÖµ¡£Ï´ε÷ÓÃyylex()ʱ£¬É¨Ãè³ÌÐò´ÓËüÍ£Ö¹µÄµØ·½¼ÌÐø¡£
¹æÔò¶ÎÖеÄËùÓдúÂë±»¿½±´µ½yylex()¡£
3¡¢yyrestart(fuke)ÖØÐÂÆô¶¯É¨Ã裬¼´yylex()ÖØÐ´ÓÎļþ¶ÁÈë¡£
4¡¢FLEXÆô¶¯Ê±Ä¬ÈÏÆðʼ״̬ΪINITIAL
BEGIN ״̬
£¥SÉùÃ÷ÆÕͨÆðʼ״̬
£¥xÉùÃ÷ÆðʼÅÅËüÐÔ״̬
ûÓÐÆðʼ״̬µÄ¹æÔòÔÚÅÅËüÐÔ´¦ÓÚ¼¤»îʱ²»Æ¥Åä¡£
5¡¢unput()
½«×Ö·ûc·µ»Ø¸øÊäÈëÁ÷¡£¼´°ÑÒѾɨÃèµÄ×Ö·ûÍÆ»Ø
6¡¢yyleng
±ê¼ÇÎı¾³¤¶È
7¡¢yyless()
yyless(n)ÍÆ»Ø³ý±ê¼Ç¿ªÍ·µÄn×Ö·ûÒÔÍâµÄËùÓÐ×Ö·û¡£
8¡¢yymore()
ÔÚÕâ¸ö±ê¼Ç¸½¼ÓÏÂÒ»¸ö±ê¼Ç
Èç:
%%
hyper yymore()
text printf("Token is %s\n",yytext);
Èç¹ûÊäÈëµÄ×Ö·û´®ÊÇ"hypertext",ÔòÊä³ö"Token is hypertext"
9¡¢yywrap()
·µ»Ø0¼ÌÐøÉ¨Ã裬·µ»Ø1±¨¸æÎļþ½áβµÄÁã±ê¼Ç
Ïà¹ØÎĵµ£º
ÔÚ¿ª·¢ÏîĿʱ£¬ÏîĿԽ´ó£¬swfÉú³ÉµÄÌå»ýÔ½´ó£¬¶ÔÓÚ¾ÖÓòÍøÓ°Ïì²»´ó£¬µ«ÊǶÔÓÚ»¥ÁªÍø¾ÍºÜÍ·ÌÛÁË¡£
¼ÓÔØÒ»¸ö½çÃæÒªºÜ¾Ã¡£Ò»°ãÈ˸ù±¾Ã»ÄÍÐÔµÈÄã¼ÓÔØÍê¡£
ΪÁ˼õСswfÌå»ý£¬¸öÈË×ܽáÁËÁ½¸ö°ì·¨¡£°ì·¨ÈçÏ£º
µÚÒ»£¬¾¡Á¿Ê¹ÓÃmodule£¬ÉÙÁ¿Ê¹ÓÃ×Ô¶¨Òå×é¼þ£¬ÕâÑù¿ÉÒÔ¼õÉÙ¼ÓÔØµÄʱ¼ä
µÚ¶þ£¬Ê¹ÓÃRSL£¬¼õСswfÌå»ý¡£RSLʹÓÃÈçÏ£º
Ó ......
ÎÊÌâÃèÊö£º
ÊäÈëÒ»¸öÊý£¬È»ºó°´Ä³¸öÔËËã·û£¬ÔÙÊäÈëÁíÒ»¸öÊý£¬°´µÈºÅ¼´¿ÉµÃ³ö½á¹û¡£Ö»°´ÕÕÊäÈë˳Ðò¼ÆËã½á¹û£¬¶ø·Ç°´ÕÕÔËËã·ûÓÅÏȼ¶À´µÃ³ö½á¹û£¬¼´£¬Èç¹û°´Ë³ÐòÊäÈë2+8*3£½»áµÃµ½30£¬¶ø·Ç26.
Ëã·¨ÃèÊö£º
¶¨ÒåÈý¸öÈ«¾Ö±äÁ¿£¬·Ö±ðÊÇfirst£¨Number£©£¬ second£¨Number£©£¬ symbol£¨String£©
first´ú±í¶þÄ¿ÔËËãÖеÚÒ»¸öÊý£¬se ......
±¾ÏµÁÐÎÄÕÂÖ÷Òª½éÉÜÁ˹ØÓÚFlexÓë.NET½áºÏ¿ª·¢ÖеÄһЩ»¥²Ù×÷ÐÔ£¬°üÀ¨ÍøÂçͨÐÅ¡¢Êý¾Ý¼ÓÔØ¡¢Êý¾Ý´«Êä¡¢Îļþ´«Êä¡¢ÒÔ¼°Ó¦ÓÃÓÚFlexÓë.NETÐ×÷¿ª·¢µÄͨÐÅÍø¹Ø¿ªÔ´ÏîÄ¿FluorineFxµÄÏà¹ØÖªÊ¶µã¡£
¿ªÔ´ÏîÄ¿FluorineFx¾ÍÊÇרÃÅÕë¶Ô.NETƽ̨ÓëFlexͨÐÅÌṩµÄAMFÐÒéͨÐÅÍø¹Ø£¬ÎÒÃÇ¿ÉÒÔͨ¹ ......
¿´Á˺ܶàFlexµÄÊ飬¹ØÓÚFlexµÄÉúÃüÖÜÆÚ×ÔÈÏΪÁ˽âµÄ»¹²»´í£¬µ«ÊÇͻȻÉÏÍøÉÏ¿´µ½Ò»¸ö¸çÃÇÓÃͼ±í°ÑFlex µÄApplicationÆô¶¯¹ý³ÌÒÔ¼°×Ô¶¨Òå×é¼þµÄÉúÃüÖÜÆÚ±í´ïµÄ·Ç³£ÇåÎú£¬ºÜÊÇÅå·þ£¬ÌØ·ÖÏí³öÀ´£¬ÄÚÈÝÈçÏ£º
Flex Custom Component LifeCycle
ÓÉ jexchan
׫д
¡¡http://blog.ityao.com/archives/169
......