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ʹÓÃÈçÏ£º
Ó ......
Æäʵһ°ãµÄÇé¿öÏÂÊDz»»áÓõ½ÕâÖÖÇé¿öµÄ£¬Ò»°ãÔÚ³ÌÐòÀ±ÈÈçÑ¡ÖÐÒªÌîдµÄÏîÄ¿£¬¶¼Ï²»¶ÓÐÒ»¸öÑ¡ÖеÄ״̬£¬µ«ÊÇÏÖÔÚÎÒÃÇÀ´¸ö·´ÆäµÀ¶øÐÐ,Èç¹ûÎÒ²»ÏëÒªÕâ¸ö״̬¸ÃÔõô°ìÄØ?
²Î¿¼ÁËЩ×ÊÁÏ,ÆäʵҲ¼òµ¥,Óкü¸ÖÖ·½·¨£¬µ«ÊÇ·¢ÏÖÁËÒ»¸ö×îÓÐÓõķ½·¨,Ê×ÏÈÎÒÃÇÔÚÎę̀ÉÏËæÒâ·Å¼¸¸öTEXTINPUT ......
Õâ¸öDEMO¿ÉÒÔ´´½¨Ò»¸öȫеÄÊ÷Ðͽṹ£¬ÈÃÎҸе½Ææ¹ÖµÄÊÇ£¬ËäÈ»ÎÒÓÃXML¶ø²»ÊÇXMLListCollection/ArrayCollection×÷ΪTreeµÄÊý¾ÝÔ´£¬µ«¶ÔXMLµÄ¸üÐÂÒÀÈ»»áÔÚTreeÖз´Ó³³öÀ´——ÕâËÆºõºÍFlexµÄÎĵµÓгåÍ»£¬ÏÂÃæÊÇÒýÓÃFlexÎĵµµÄÒ»¶ÎÄÚÈÝ£º
Raw objects are often not sufficient if you have data that changes, bec ......
¿´Á˺ܶàFlexµÄÊ飬¹ØÓÚFlexµÄÉúÃüÖÜÆÚ×ÔÈÏΪÁ˽âµÄ»¹²»´í£¬µ«ÊÇͻȻÉÏÍøÉÏ¿´µ½Ò»¸ö¸çÃÇÓÃͼ±í°ÑFlex µÄApplicationÆô¶¯¹ý³ÌÒÔ¼°×Ô¶¨Òå×é¼þµÄÉúÃüÖÜÆÚ±í´ïµÄ·Ç³£ÇåÎú£¬ºÜÊÇÅå·þ£¬ÌØ·ÖÏí³öÀ´£¬ÄÚÈÝÈçÏ£º
Flex Custom Component LifeCycle
ÓÉ jexchan
׫д
¡¡http://blog.ityao.com/archives/169
......