¤Ó͸ԺÒÂâ»Ãá¡ÃÁ CTTEX ÃØè¹ 1.21 (µÑé§áµèÃØè¹ 1.19 ÊÓËÃѺÃØ蹡è͹˹éÒ¹Õé ¡ÃسÒà»Ô´ä¿Åì README) ÁÕÍÐäÃãËÁèã¹ÃØè¹ 1.21 - à¾ÔèÁµÑÇàÅ×Í¡ -i áÅÐ -m - ·ÕèÁҢͧµÑÇàÅ×Í¡ -i Åͧ¾Ô¨ÒóһÃÐ⤠"ÊÒÁÒö¹Ñ觵ҡÅÁ" ËÒ¡·Ó¡ÒõѴâ´ÂÍÒÈѤӷÕèÁÕã¹ÃÒ¡ÒÃ¤Ó ´éÇÂÇÔ¸Õ¡ÒõѴ·Õèà»ç¹ä»ä´é·Ñé§ËÁ´áÅéÇ ¨Ð¾ºÇèÒ¤ÓÇèÒ "ÊÒÁÒö" ÊÒÁÒöµÑ´ä´é ÊͧÇÔ¸Õ ¤×Í ÊÒÁÒö áÅÐ ÊÒ-ÁÒ-ö áÅФÓÇèÒ µÒ¡ÅÁ ¡ç¶Ù¡µÑ´ä´éÊͧÇÔ¸Õ ¤×Í µÒ¡-ÅÁ áÅÐ µÒ-¡ÅÁ »ÃÐ⤹Õé¨Ö§ÊÒÁÒöµÑ´ä´é·Ñé§ËÁ´ 2x2=4 ÇÔ¸Õ ´Ñ§áÊ´§ 㹼Ţͧ cttex -a ´Ñ§¹Õé # cttex -a 32 0[4]: ÊÒÁÒö ¹Ñè§ µÒ¡ ÅÁ 1[4]: ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ 2[6]: ÊÒ ÁÒ Ã¶ ¹Ñè§ µÒ¡ ÅÁ 3[6]: ÊÒ ÁÒ Ã¶ ¹Ñè§ µÒ ¡ÅÁ ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ áµè㹤ÇÒÁà»ç¹¨ÃÔ§áÅéÇ ¡Ò÷ӴÃê¹ÕÊÓËÃѺ¤é¹ËÒ¨ÐÊдǡ¢Öé¹ÁÒ¡¶éÒËÒ¡ â»Ãá¡ÃÁáÊ´§¼Å ੾ÒФӷÕèÁÕÇÔ¸Õ¡ÒõѴ·ÕèᵡµèÒ§ÍÍ¡ä»à·èÒ¹Ñé¹ ¤×Í áÊ´§¼Å੾ÒÐ - ÇԸյѴËÅÑ¡ -> ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ - ¡Ñº¤Ó·ÕèÁÕÇÔ¸Õ¡ÒõѴ·ÕèµèÒ§ÍÍ¡ä» -> µÒ¡ ÅÁ, ÊÒ ÁÒ Ã¶ cttex ÃØè¹ 1.21 ÊÒÁÒö·Óä´éâ´ÂãªéµÑÇàÅ×Í¡ -i ´Ñ§¹Õé # cttex -i 32 µÒ¡:ÅÁ:ÊÒ:ÁÒ:ö:ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ à¾×èÍãËé¨Ó¹Ç¹ºÃ÷Ѵ¢Í§ Input à·èҡѺ¨Ó¹Ç¹ºÃ÷Ѵ¢Í§ Output ¼Å¡ÒõѴ ¨ÐáÊ´§ÍÂÙè㹺Ã÷Ѵà´ÕÂǡѹ â´Â¤Ó·ÕèÁÕÇÔ¸Õ¡ÒõѴ·ÕèµèÒ§Í͡仨лÃÒ¡¯¢Ö鹡è͹ áÅФÑè¹´éÇÂà¤Ã×èͧËÁÒ : áÅлÃÐ⤢éͤÇÒÁà´ÔÁ·Õè¶Ù¡µÑ´¨Ð»ÃÒ¡¯ ã¹µÓá˹觷éÒÂÊØ´ - ·ÕèÁҢͧµÑÇàÅ×Í¡ -m ËÒ¡¾Ô¨ÒóÒãËé´Õ ¨ÐàËç¹ÇèÒã¹µÑÇÍÂèÒ§¢éÒ§µé¹¹Õé â»Ãá¡ÃÁäÁè¤ÇèСÃШÒ ÊÒÁÒö ÍÍ¡ÁÒà»ç¹ ÊÒ ÁÒ Ã¶ à¾ÃÒÐà»ç¹¡ÒÃà¾ÔèÁ¨Ó¹Ç¹¤Ó áÅмÙé·Õè¤é¹ËÒ ¤ÓÇèÒ "ÁÒ" ¤§äÁèµéͧ¡ÒÃãËé¤ÓÇèÒ "ÊÒÁÒö" »ÃÒ¡¯ÍÂÙè¼ÅÅѾ¸ì´éÇ ¡ÒÃãªéµÑÇàÅ×Í¡ -m ¤Çº¤Ùè¡Ñº -a ËÃ×Í -i ¨Ðà»ç¹¡Òúѧ¤ÑºãËé cttex áÊ´§ÇÔ¸Õ¡ÒõѴ·Õèà»ç¹ä»ä´é·Ñé§ËÁ´ ੾ÒÐ㹡óշÕèä´é¨Ó¹Ç¹¤Ó ·Õè¹éÍ·ÕèÊØ´´éÇÂà·èÒ¹Ñé¹ àªè¹ # cttex -a -m 32 0[4]: ÊÒÁÒö ¹Ñè§ µÒ¡ ÅÁ 1[4]: ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ (µÑ´à©¾ÒÐ µÒ ¡ÅÁ ¡Ñº µÒ¡ ÅÁ äÁè¡ÃШÒ¤ÓÇèÒ ÊÒÁÒö) # cttex -i -m 32 µÒ¡:ÅÁ:ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ # cttex -a -i -m 32 0[4]: ÊÒÁÒö ¹Ñè§ µÒ¡ ÅÁ 1[4]: ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ µÒ¡:ÅÁ:ÊÒÁÒö ¹Ñè§ µÒ ¡ÅÁ ÁÕÍÐäÃãËÁèã¹ÃØè¹ 1.20 - ãªéÇÔ¸Õ¡Òäé¹ËÒ¤ÓãËÁè (findword) â´ÂÍÒÈÑÂÇÔ¸Õ DFA(Trie) á·¹¡ÒÃ¤é¹ ËÒẺ Binary Search ã¹ÃØ蹡è͹æ â»Ãá¡ÃÁäÁè¨Óà»ç¹µéͧãªé ÃÒ¡ÒÃ¤Ó (tdict.h) áµè¨ÐãªéµÒÃÒ§¡ÒÃà»ÅÕè¹ʶҹР(map.c) á·¹ à¾ÔèÁâ»Ãá¡ÃÁ dict2state.c ÊÓËÃѺÊÃéÒ§µÒÃÒ§¹Õé¨Ò¡ ÃÒ¡ÒÃ¤Ó ¡Òäé¹ËҤӨзÓä´éàÃçÇ¢Ö鹡ÇèÒà´ÔÁÁÒ¡ àÁ×èÍÃÇÁ¡Ñº¡ÒõѴ¤ÓẺ recursive ·Õèà¾ÔèÁà¢éÒÁÒã¹ÃØè¹ 1.19 ·ÓãËéâ»Ãá¡ÃÁâ´ÂÃÇÁ·Ó §Ò¹·Õè¤ÇÒÁàÃçÇã¡Åéà¤Õ§¡Ñº cttex ÃØè¹ááæ - µÑÇàÅ×Í¡ -r ÊÒÁÒöáÊ´§¤Ó·ÕèäÁ辺ã¹ÃÒ¡ÒäÓÍÍ¡ÁÒ·Ò§ stderr ã¹ÃٻẺ·Õèà¢éÒã¨ä´é§èÒ¢Öé¹ - à¾ÔèÁµÑÇàÅ×Í¡ -a à¾×èÍáÊ´§ÇÔ¸Õ¡ÒõѴ¤Ó·Õèà»ç¹ä»ä´é·Ñé§ËÁ´ »¡µÔ cttex ¨ÐàÅ×Í¡¡ÒõѴ¤Ó·ÕèãËé¨Ó¹Ç¹¤Ó¹éÍ·ÕèÊØ´¨Ò¡ÇÔ¸Õ¡Ò÷Õèà»ç¹ä»ä´é·Ñé§ËÁ´ ÊÒÁÒö¹Óä»»ÃÐÂØ¡µìãªéà¾×èÍÊÃéÒ§´Ãê¹ÕÊÓËÃѺÃкº¤é¹ËÒ¢éÍÁÙÅÀÒÉÒä·Âä´é ÁÕÍÐäÃãËÁèã¹ÃØè¹ 1.19 - ãªéÇÔ¸Õ¡ÒÃãËÁè㹡ÒÃËÒ¤Ó (dooneline2) ÇÔ¸Õ¡ÒÃà´ÔÁ ¨ÐËÂØ´µÑ´¤ÓàÁ×è;ºÇÔ¸Õ¡ÒÃàÍÒ¤Óã¹ÃÒ¡ÒäӷÕèÁÕ ÁÒàÃÕ§¡Ñ¹à»ç¹ÇÅÕ·Õè»é͹à¢éÒÁÒ â»Ãá¡ÃÁ¨ÐáÊ´§¼ÅÅѾ·ìÍѹááÍѹà´ÕÂÇ ÇÔ¸Õ¡ÒÃãËÁè ¨Ð¾ÂÒÂÒÁµÑ´¤Ó·Ø¡ÇÔ¶Õ·Ò§·Õè¨Ð·Óä´é â´ÂàÅ×Í¡ÇÔ¸Õ¡Ò÷Õè ÁըӹǹµÑÇÍÑ¡É÷ÕèäÁ辺ã¹ÃÒ¡ÒäӹéÍ·ÕèÊØ´ áÅеѴÍÍ¡ÁÒä´é¨Ó¹Ç¹¤Ó¹éÍ·ÕèÊØ´ ¡ÒõѴ¤Ó¨ÐªéÒŧ¡ÇèÒà´ÔÁÁÒ¡ à¹×èͧ¨Ò¡â»Ãá¡ÃÁ¨Óà»ç¹µéͧ recursive ËÒÇÔ¸Õ¡ÒõѴ·Õèà»ç¹ä»ä´é·Ñé§ËÁ´ - ÊÒÁÒö·Ó§Ò¹ã¹âËÁ´ Debug à¾×èÍáÊ´§ÇÔ¸Õ¡ÒõѴ¤Ó(à¡×ͺ)·Ñé§ËÁ´·Õ辺ÃÐËÇèÒ§ ¡Òäé¹ËÒ àªè¹ ->µÒ¡ÅÁ = µÒ¡ ÅÁ Err(0) Word(2) = µÒ ¡ÅÁ Err(0) Word(2) ËÃ×Í㹡óշÕèÁÕµÑÇÊС´¼Ô´ ->¡¡Òà =¡¡ *Òà Err(2) Word(1) =#¡ ¡Òà Err(1) Word(1) - á¡éä¢ÅӴѺ¾ÂѪ¹ÐáÅÐÊÃÐãËé¶Ù¡µéͧ¡è͹·Ó¡ÒõѴ¤Ó - ãªé§Ò¹ä´éÊдǡ¢Öé¹¼èÒ¹ command-line option - à»ÅÕè¹ÁÒãªéÃÒ¡ÒäӢͧÃÒªºÑ³±Ôµ (ä´éÁÒ¨Ò¡ NECTEC) ä¿Åì·Õèãªé¤×Í nectec/riheads.txt