¸®Áî ÆËScheme InterpreterÀÇ Python | |
Áö±Ý ´Ù¿î·Îµå |
¸®Áî ÆË ¼øÀ§ ¹× ¿ä¾à
±¤°í
¸®Áî ÆË Å±×
¸®Áî ÆË ¼³¸í
LizpopÀº Python.InstallationÀÇ ½ºÅ°¸¶ ÀÎÅÍÇÁ¸®ÅÍÀÔ´Ï´Ù. Setup.py ¼³Ä¡¸¦ ½ÇÇàÇϱ⠸¸ÇϸéµË´Ï´Ù. ¿¹¸¦ µé¾î, tar zxvf lizpop-0.3.1.tar.gz cd lizpop-0.3.1 sudo python setup.py installUsageto ½ÇÇà ´ëÈ ÇüÀ¸·Î ½ÇÇà : python -o -m lizpop.runto ÆÄÀÏ¿¡¼ ½ºÅ°¸¶ ½ºÅ©¸³Æ® ½ÇÇà : python -o -m lizpop.run yourfile.scm ¸í·É ÁÙ ¿É¼Ç¿¡ ´ëÇÑ ÀÚ¼¼ÇÑ Á¤º¸ : python -o -m lizpop.run -hfeatuRESSUBSET SchemeÀÇ R5RSÀÇ Á¦ÇÑ »çÇ× ¼½¼ÇÀ» ÂüÁ¶ÇϽʽÿÀ. ÆÄÀ̽㿡 ´ëÇÑ ÀÎÅÍÆäÀ̽º $ cat helloworld.py def hello (s = "world") : u "hello % s!" % s.capitalize () $ python -o -m lizpop.run> (define * helloworld * (helloworld "))> (define hello (attr * helloworld * 'hello)))> (¾È³çÇϼ¼¿ä,"Ä£±¸ ")"¾È³çÇϼ¼¿ä Ä£±¸!" ÀÚ¼¼ÇÑ ³»¿ëÀºÀÌ Package.Regular Expression LiteralÀÇ ifpy.rst ÆÄÀÏÀ» ÂüÁ¶ÇϽʽÿÀ. ´ÙÀ½ ¸®ÅÍ·²Àº ÀÏ¹Ý Ç¥Çö½Ä °´Ã¼ÀÔ´Ï´Ù. # / ÆÐÅÏ / Ç÷¡±× ÆÐÅÏ : Á¤±Ô½Ä ÆÐÅÏ Ç÷¡±× : Á¤±Ô Ç¥Çö½Ä Ç÷¡±×. i-- ignore m-multi-line s- Á¡Àº ¸ðµç u-- À¯´Ï ÄÚµå Á¾¼Ó L- ·ÎÄÌ ÀÇÁ¸ x-- ÀÚ¼¼ÇÑ ¿¹Á¦; °£´ÜÇÑ ÀÏÄ¡> (´Ù½Ã °Ë»ö # / (\ d +) : (\ d +) / "8 ¿ù 14 ÀÏ") ;; #f> (´Ù½Ã °Ë»ö # / (\ d +) : (\ d +) / "8 ¿ù 14 ÀÏ 08:30") ;; <_sresre_match °´Ã¼¿Í ÀÏÄ¡> ;; ÇÏÀ§ ±×·ì> (´Ù½Ã ±×·ì (Àç ÁöÁ¤ # / (\ d +) : (\ d +) / "8 ¿ù 14 ÀÏ 08:30") 12) ( "08"30 ") ;; String> (Re-GSUB # / <(\ ?) h \ d/> "<\ 1h3>"
")" Ư¡ : "> ÀÚ¼¼ÇÑ Á¤º¸´Â µµ¿ò¸» ÀýÂ÷¸¦ ½ÇÇàÇϽʽÿÀ. ¿¹¸¦ µé¾î, > (µµ¿ò¸» ¸ñ·Ï # / (^ Re-) | (regex) /)> (Àç»çºñ Àç °Ë»ö Àç»çºñ Àç ÁöÁ¤ µµ¿ò¸» Àç»çºñ Àç gsub) ¸ÖƼ ¹ÙÀÌÆ® ¹®ÀÚ ¸¸ Áö¿ø UTF-8 ÀÎÄÚµù ÀÌÁ¦. EMB (Embedded Lizpop) ) EMLÀº ÅؽºÆ® ÆÄÀÏ¿¡ LIZPOP Äڵ带 ³»ÀåÇÏ´Â ÅÛÇø´ ¾ð¾îÀÔ´Ï´Ù. EML¿¡´Â ´ÙÀ½°ú °°Àº °£´ÜÇÑ »ç¾çÀÌ ÀÖ½À´Ï´Ù. %> ¹®ÀÚ¿ÀÌ ÀÔ·Â Æ÷Æ®ÀÇ ½ÃÀÛ ºÎºÐ¿¡ Ãß°¡µË´Ï´Ù. ¾Ï½Ã ÀûÀ¸·Î <%´Â ÀÔ·Â Æ÷Æ®ÀÇ ³¡¿¡ Ãß°¡µË´Ï´Ù Âü°í :ÀÌ ¾ÆÀ̵ð¾î´Â brl (http:brlsourceforgenet)¿¡¼ ¿µ°¨ ¾ò¾ú½À´Ï´Ù eml ½ÇÇàÇÏ·Á¸é-eml ¸í·É ÁÙ ¿É¼ÇÀ¸·Î »ç¿ëÇϽʽÿÀ ¿¹¸¦ µé¾î python-m lizpoprun-eml yourfileeml °£´ÜÇÑ ¿¹Á¦ $ cat gcdlcmeml <% (numlist Á¤ÀÇ (¸Ê ¹®ÀÚ¿-/> number * args *)) %> GCD of <% numlist %>´Â <% (gcd Àû¿ë numlist) %>. <% numlist %>ÀÇ LCMÀº <% (lcm numlist Àû¿ë) %>¸¦ ¼ýÀÚÀÔ´Ï´Ù. $ python -m lizpop.run -eml gcdlcm.eml - 153337303 (1533373034307)ÀÇ GCD´Â 73ÀÔ´Ï´Ù. LCM (1533373034307)Àº 6602631ÀÔ´Ï´Ù. ´õ ¸¹Àº ¿¹ : ½ÇÇà (road-eml µµ¿ò¸») µµ¿ò¸» ¸Þ½ÃÁö¸¦º¸½Ê½Ã¿À. Âü°í :`lizpop + apache2 + mod_wsgi`ÀÌ package.help ÇÔ¼ö¿¡ Æ÷ÇÔ µÈ wsgi_sample / application.wsgi ÆÄÀÏÀ» ÂüÁ¶ÇϽʽÿÀ. Lizpop¿¡´Â µµ¿ò¸» ±â´ÉÀÌ ÀÖÀ¸¸ç ÁÖ¾îÁø ÀýÂ÷ ¶Ç´Â ¸ÅÅ©·Î¿¡ ´ëÇÑ ¼³¸í¼¸¦ Ç¥½ÃÇÕ´Ï´Ù. »ç¿ë¹ý : (Help var ...) (µµ¿ò¸» ¸ñ·Ï Á¤±Ô½Ä ÆÐÅÏ) ¿¹¸¦ µé¾î. > (µµ¿ò¸» invoke) ÀýÂ÷ : (obj ¸Þ½ÃÁö args ...) args¿Í ÇÔ²² ¸Þ½ÃÁö¶ó´Â objÀÇ ¸Þ¼Òµå¸¦ È£ÃâÇÕ´Ï´Ù ....................... ................................ ±×·¯³ª Áö±ÝÀº Python ÀÎÅÍÆäÀ̽º¿¡¸¸ µµ¿ò¸» ¹®¼°¡ Á¦°øµË´Ï´Ù. °ü·Ã ±â´É. ÀÚ¼¼ÇÑ ³»¿ëÀº ½ÇÇà (µµ¿ò¸») ¹× (µµ¿ò¸» µµ¿ò¸» ¸ñ·Ï)À» ½ÇÇàÇϽʽÿÀ. Âü°í : ³ª´Â ¿µ¾î·Î ÁÁÁö ¾Ê½À´Ï´Ù. µû¶ó¼ µµ¿ò¸» ¸Þ½ÃÁö¿¡´Â ¿µ¾î·Î ¸î °¡Áö ¿À·ù ¶Ç´Â ºÎ ÀÚ¿¬½º·¯¿î Ç¥Çö½ÄÀÌ Æ÷Ç﵃ ¼ö ÀÖ½À´Ï´Ù. restrictionshygienic ¸ÅÅ©·Î´Â Áö¿øµÇÁö ¾Ê½À´Ï´Ù. ±¸¹® ±¸¹® ±¸¹® ±¸¹® ¹× let-syntax°¡ ±¸ÇöµÇÁö ¾Ê½À´Ï´Ù. ´ë½Å ÀüÅë (ºñ À§»ýÀû) ¸ÅÅ©·Î¸¦ »ç¿ëÇÒ ¼ö ÀÖ½À´Ï´Ù. => ½ÇÇà (µµ¿ò¸» Á¤ÀÇ ¸ÅÅ©·Î) ¹®ÀÚ¿ÀÌ º¯°æÇÒ ¼ö ¾ø½À´Ï´Ù. Lizpop ¹®ÀÚ¿Àº ºÒº¯ÀÇ ÆÄÀ̽ã À¯´Ï ÄÚµå ¹®ÀÚ¿ °´Ã¼·Î ±¸ÇöµË´Ï´Ù. ±×·¡¼, ¹®ÀÚ¿ ¼¼Æ®! ¹× ¹®ÀÚ¿ ä¿ì±â! unk.call/cc¿Í dynamic-wind´Â ºÎºÐÀûÀ¸·Î ¸¸ ±¸ÇöµË´Ï´Ù. LizpopÀº ¿ÏÀüÇÑ ¿¬¼ÓÀ» Áö¿øÇÏÁö ¾Ê½À´Ï´Ù. LizpopÀÇ Äݹé Àü·ù ¿¬¼ÓÀº »óÇâ Àü¿ë ¹× ºñ ÀçÁøÀÔÀÚÀÔ´Ï´Ù. µû¶ó¼ ·ÎÄÃÀÌ ¾Æ´Ñ °æ¿ì¿¡ »ç¿ëÇÒ ¼ö ÀÖÁö¸¸ °øµ¿ ·çƾÀ̳ª BackTracking.Complex ¼ýÀÚ¿¡´Â »ç¿ëÇÒ ¼ö ¾ø½À´Ï´Ù. ºÐ¼ö ¹øÈ£°¡ Áö¿øµÇÁö ¾Ê½À´Ï´Ù. ÀÚ¼¼ÇÑ ³»¿ëÀº ½ÇÇà (evel eval). Á¦Ç°ÀÇ È¨ÆäÀÌÁö¸®Áî ÆË °ü·Ã ¼ÒÇÁÆ®¿þ¾î
ÄÚ - CPROF.
ÆÄÀ̽㠳ëÁî Ç÷¯±×ÀÎÀº ±âº» ÇÖ ¼¦ ÇÁ·ÎÆÄÀÏ ·¯°¡ ¾Æ´Ñ cprofileÀ» »ç¿ëÇÏ¿© ÇÁ·ÎÆÄÀÏ¿¡ ¿¬°áµË´Ï´Ù. ...
163