Pymeta. ¼øÀ§ ¹× ¿ä¾à
- ƯÇã:
- MIT/X Consortium Lic...
- °Ô½ÃÀÚ À¥»çÀÌÆ®:
- https://launchpad.net/~washort
Pymeta. ű×
Pymeta. ¼³¸í
Pymeta´Â Alessandro Warth (http://www.cs.ucla.edu/~ ~ ATS.Omla.edu/~ ~ AMATA/)°¡ °³¹ß ÇÑ °´Ã¼ ÁöÇâ ÆÐÅÏ ÀÏÄ¡ ¾ð¾î ÀÎ ¿À¸ÞŸÀÇ ±¸ÇöÀÔ´Ï´Ù. Pymeta´Â ÆÄÀ̽ã ÇÁ·Î±×·¡¸Ó¸¦ À§ÇØ ½±°Ô ÀÌÀ¯°¡ÀÖ´Â ¹æ½ÄÀ¸·Î °øÅë ÁøÇÑ ¹æ½ÄÀ¸·Î °øÅë ·º½Ì, ±¸¹® ºÐ¼® ¹× Æ®¸® º¯È¯ È°µ¿À»À§ÇÑ ±¸¹® ºÐ¼® ¹®¹ý (PEGS)À» ±¸¹® ºÐ¼®ÇÕ´Ï´Ù. ¿öÅ© ½ºÆä¾î ¸ÞŸ´Â ±ÔÄ¢°ú ÇÔ²² Python Ŭ·¡½º·Î ¹®¹ýÀ» ÄÄÆÄÀÏÇÕ´Ï´Ù. Çൿ ¾ç½Ä. ±ÔÄ¢Àº ÀÏÄ¡ÇÏ´Â °Í¿¡ ¼º°øÇϸé ÀÔ·Â ¹× ¹Ýȯ °ªÀ» ¼ÒºñÇÏ´Â ºÐ¼® Ç¥Çö½ÄÀ» ÁöÁ¤ÇÕ´Ï´Ù. expr2. ÆÄÀ̽ãÀÇ and.expr1ó·³ | expr2 expr1À» ÀÏÄ¡ ½ÃÅ°·Á°í - ½ÇÆÐÇϸé expr2¸¦ ´ë½Å ÀÏÄ¡½Ãŵ´Ï´Ù. PythonÀÇ OR.EXPR * expr 0 ÀÌ»ó°ú ¸¶Âù°¡Áö·Î Matches.expr + match exprÀÇ ¸ñ·ÏÀ» ÇÑ ¹ø ÀÌ»ó ¹ÝȯÇÏ¿© Matches.exprÀÇ ¸ñ·ÏÀ» ¹ÝȯÇÕ´Ï´Ù. exprÀ» ÀÏÄ¡ ½ÃÅ°½Ê½Ã¿À. ÀÏÄ¡ÇÏÁö ¾ÊÀ¸¸é ¾øÀ½À» ¹ÝȯÇÕ´Ï´Ù. ~ expr ÀÔ·ÂÀÇ ´ÙÀ½ Ç׸ñÀÌ expr ÀÏÄ¡ÇÏ¸é ½ÇÆÐÇÕ´Ï´Ù. ±ÔÄ¢ ruleName.'x '¶ó´Â RuleName .'x'x'.expr : nameÀº exprÀÇ °á°ú¸¦ ·ÎÄà º¯¼ö À̸§À¸·Î ¹ÙÀεùÇÕ´Ï´Ù. => PythoneXpression ÁÖ¾îÁø ÆÄÀÌ½ã ½Ä Æò°¡¸¦ÇÏ°í Python ÁÖ¼®°ú °°Àº °á°ú¸¦ ¹ÝȯÇÕ´Ï´Ù. ±Û½ê, #ºÎÅÍ ½ÃÀÛÇÏ¿© ¶óÀÎÀÇ ³¡±îÁö È®Àå µÈ »õ·Î¿î ¹®¹ýÀ» Á¤ÀÇÇϱâÀ§ÇÑ ½ÃÀÛÁ¡Àº pymeta.grammar.ometa.makeGrammarÀÔ´Ï´Ù. ¹®¹ý Á¤ÀÇ¿Í ÀÓº£µðµå Ç¥Çö½Ä¿¡ ´ëÇÑ °¡º¯ ¹ÙÀεùÀÇ º¯¼öÀÇ dict¸¦ ÀÛ¼ºÇÏ°í ÆÄÀ̽ãÀ» »ý¼ºÇÕ´Ï´Ù µî±Þ. ¹®¹ýÀº Æò¼Ò¿Í °°ÀÌ ¼ºê Ŭ·¡ ½Ì µÉ ¼ö ÀÖÀ¸¸ç,ÀÌ ¼ö¾÷¿¡¼ MakeGrammar¸¦ È£ÃâÇÏ¿© ±ÔÄ¢À» ¹«½ÃÇÏ°í »õ·Î¿î °ÍµéÀ» Á¦°ø ÇÒ ¼ö ÀÖ½À´Ï´Ù. ¹®¹ý ±ÔÄ¢À» È£ÃâÇÏ·Á¸é grammarobject.apply ()¸¦ À̸§À» ^ »ùÇøµ >>> pymeta.grammar °¡Á® ¿À±â Ometa >>> exampleGrammar = "" "·Î ÀüÈÇϽʽÿÀ .: = '1' '1'=> 1TWOS :: = '2' '2'=> 2stuff :: = (> ) + "" ">>> ¿¹Á¦ = ometa.makegrammar (exampleGrammar, {}) >>> G = ¿¹ ("11221111 " ) >>> °á°ú, error = g.apply ( "Teams") >>> °á°ú Á¦Ç° ȨÆäÀÌÁö
Pymeta. °ü·Ã ¼ÒÇÁÆ®¿þ¾î