ʹÓÃPythonÓïÑÔÉè¼Æ»ùÓÚHTMLµÄCÓïÑÔÓï·¨¼ÓÁÁÏÔʾ³ÌÐò
2005-2006ѧÄêµÚ1ѧÆÚ
±à Òë Ô Àí
¿Î ³Ì Éè ¼Æ ±¨ ¸æ
°à¼¶ 02¼Æ(¶þ)
ѧºÅ 19
ÐÕÃû ÁõÏþÃ÷
³É¼¨
Ö¸µ¼½Ìʦ ¬³¯»Ô
Ò»¡¢ Éè¼ÆÄ¿µÄ
¼ÓÉî¶Ô±àÒëÔÀíµÄ½øÒ»²½ÈÏʶ£¬¼Óǿʵ¼ù¶¯ÊÖÄÜÁ¦ºÍ³ÌÐòµÄ¿ª·¢ÄÜÁ¦ÅàÑø£¬Ìá¸ß·ÖÎöÎÊÌâºÍ½â¾öÎÊÌâµÄÄÜÁ¦¡£
¶þ¡¢ Éè¼ÆÈÎÎñ
1.µ¥´Êʶ±ð
CÓïÑÔ³£Êý
CÓïÑÔ±êʶ·û
2.³ÌÐòµÄÎı¾´¦Àí
½«CÓïÑÔµÄËùÓÐ×¢ÊÍ×Öĸ´óд
½«CÓïÑÔµÄËùÓб£Áô×Ö´óд
3.µÝ¹éϽµ·ÖÎö
Èý¡¢ Éè¼Æ¹ý³Ì
1.×ÜÌåÉè¼Æ
ͨ¹ý¶ÁÈëCÓïÑÔÔ´ÎļþÖ®ºóÉú³ÉÏà¹ØµÄ´Ê·¨·ÖÎö£¬²¢Êä³ö³É¾¹ý´Ê·¨¼ÓÁÁµÄHTMLÎļþÓÃÓÚÏÔʾ¡£ÁíÍâÊä³öµ¥´Ê·ûºÅ±í¡£Éú³ÉµÄHTMLÎļþµÄÎļþÃûΪout.html£¬µ¥´Ê·ûºÅ±íÎļþΪtoken.txt¡£
ÔËÐз½·¨Îª£º½øÈëdistÎļþ¼ÐÔËÐÐmain *.c¡£ÕâÀïµÄ*Ìæ»»ÎªCÓïÑÔÎļþÃû£¬ºó׺ÃûΪC£¬µ«ÊÇÒ²¿ÉÒÔʹÓÃÆäËûºó׺Ãû¡£Ê¹ÓÃĬÈÏÉèÖÃµÄÆô¶¯ÇëÖ±½ÓË«»÷distĿ¼ÏÂrun.batÎļþ£¬Ä¬ÈÏ·ÖÎösample.cÎļþ¡£
³ÌÐò·ÖΪÈý¸öÄ£¿é£ºHTMLÄ£¿é¸ºÔðÌṩHTMLÎļþÉú³ÉÏà¹ØµÄϸ½Ú£»wordfixÄ£¿éÌṩ´Ê·¨·ÖÎöµÄ²½Ö裻mainÄ£¿éÌṩÁËÎļþI/OºÍ³ÌÐò×ÜÌå¿ØÖÆ¡£
2.HTML.py
ʵÏÖÁËHTMLÎļþµÄÏà¹ØÏ¸½Ú¡£°üº¬ÒÔϺ¯Êý£º
writehead()
ÓÃÓÚÉú³ÉHTMLÎļþÍ·
writeline(line)
ÓÃÓÚÊä³öһЩÊý¾Ýµ½HTMLÎļþ²¢¼ÓÈëÁ½ÖÖ»»ÐУ¬·Ö±ðʵÏÖHTMLÔ´ÎļþºÍHTMLÏÔʾ¸ñʽµÄ»»ÐÐ
writeident(line)
Êä³ö±êʶ·ûµ½HTMLÎļþ
writekeyword(line)
Êä³ö¹Ø¼ü×Öµ½HTMLÎļþ
writecomment(line)
Êä³ö×¢ÊͺÍÔ¤´¦Àí´®µ½HTMLÎļþ
writeconst(line)
Êä³ö³£ÊýºÍ×Ö·û´®µÈ³£Á¿µ½HTMLÎļþ
writeoper(line)
Êä³öËã·ûºÍ½ç·ûµ½HTMLÎļþ
writetail(line)
Êä³öHTMLÎļþµÄ½áβ²¢¹Ø±ÕHTMLÎļþ
fixmark(instr)
ÓÉÓÚä¯ÀÀÆ÷ÎÞ·¨ÏÔÊ¾Ò»Ð©ÌØÊâ×Ö·û£¬Ö»ÄÜÊÂÏÈÔÚHTMLÎļþÖÐת»»³ÉÆäËû×Ö·û´®£¬fixmarkº¯ÊýÌṩÕâÖÖת»»¡£ÐèҪת»»µÄ×Ö·û°üÀ¨¼¸Öֿհ׺Í&¡¢"¡¢>¡¢<µÈ¡£
HTMLÄ£¿é×îºóÌṩÁ˵¥Ôª²âÊÔÓõÄÖ÷·½·¨¡£Ä£¿éÖ»ÓÐÒ»¸ö³ÉÔ±outfileÓÃÓÚÈ«¾ÖµÄ´æ´¢Êä³öHTMLµÄÎļþ¾ä±ú¡£
3.main.py
ÌṩÁ˳ÌÐòÆô¶¯ºÍÎļþI/OµÄ²Ù×÷¡£°üÀ¨ÒÔϺ¯Êý£º
openfile(filename)
Ôھ߱¸´íÎó´¦ÀíµÄÇé¿öÏ´ò¿ªÎļþµÄ·þÎñ£¬´ò¿ª³É¹¦Ôò·µ»ØÎļþ¾ä±ú£¬Ê§°ÜÔò·µ»ØFalse
showfile(filename)
ÌṩÎļþ´ò¿ª²âÊÔºÍÏÔʾ¹¦ÄÜ
Ö÷·½·¨ÌṩÁËÎļþ´ò¿ª£¬ÉèÖÃ
Ïà¹ØÎĵµ£º
ÕâÆªÎÄÕ½éÉÜÔÚLINUXϽøÐÐCÓïÑÔ±à³ÌËùÐèÒªµÄ»ù´¡ÖªÊ¶.ÔÚÕâÆªÎÄÕµ±ÖÐ,ÎÒÃǽ«»áѧµ½ÒÔÏÂÄÚÈÝ:
Ô´³ÌÐò±àÒë
MakefileµÄ±àд
³ÌÐò¿âµÄÁ´½Ó
³ÌÐòµÄµ÷ÊÔ
Í·ÎļþºÍϵͳÇóÖú
--------------------------------------------------------------------------------
1.Ô´³ÌÐòµÄ±àÒë
ÔÚLinuxÏÂÃæ,Èç¹ûÒª±àÒëÒ»¸öC ......
1.PythonµÄÀ©Õ¹
PythonÀ©Õ¹ÊÇÖ¸ÔËÓÃÆäËûÓïÑÔ±àдijЩ¹¦ÄÜÄ£¿é£¬¹©Python³ÌÐòµ÷Ó㬳£ÓõÄÓÐPythonµÄCÀ©Õ¹ºÍC++À©Õ¹¡£PythonÀ©Õ¹µÄÄ¿µÄÖ÷ÒªÓÐÁ½¸ö£ºÒ»ÊÇΪÁ˹¦ÄÜÐèÒª£¬ÁíÍâÒ»¸öÔÒòÊÇΪÁËÐÔÄÜÐèÒª¡£ÏÂÃæ½éÉÜÒ»ÏÂÔÚ²»ÔËÓù¤¾ßµÄÇé¿öÏ£¬ÔËÓÃCºÍC++ÓïÑÔ¶ÔPython½øÐÐÀ©Õ¹µÄ²½Öè¡£
À©Õ¹µÄµÚÒ»²½ÊÇÓÃC»òC++´´½¨Ò»¸öÔ´³ÌÐò£¬È»ºó ......
¹ØÓÚ¿ò¼Ü£¬Ö®Ç°ÌýµÃ±È½Ï¶à£¬ÌرðÊÇÔÚCPyGµÄÓʼþÁбíÉÏ£¬²»¹ý»¹Ã»ÓнӴ¥¹ý¡£
ÕâÒ»ÕÂÎÒ´òËãÂÔ¶Á£¬¼ÓÉÏÕâÁ½ÌìÉíÌå²»ÊÊ£¬¶ÁµÃ¸ü¼ÓÂÔÁË¡£
ÕâÒ»ÕÂÌáµ½µÄ¼¸¸ö¿ò¼ÜÎÒÌý˵µÄÓÐTKinterºÍSWIG¡£SWIG¸ãÁËһϣ¬TKinter¿´È˼ÒÓùý£¬×Ô¼º»¹Ã»ÓÐÓùý¡£¶ÔÕâЩ¿ò¼ÜİÉúµÃºÜ¡£ÒÔºóÅöÉÏÒªÓÃÁËÔÙÈÏÕæÑ§Ñ§¡£
µ½ÏÖÔÚ£¬¶ÔPythonËãÊÇÓÐЩÁ˽âÁË¡£ ......
1.ÇóÏÂÃæº¯ÊýµÄ·µ»ØÖµ£¨Î¢Èí£©
¡¡¡¡int func(x)
¡¡¡¡{
¡¡¡¡int countx = 0;
¡¡¡¡while(x)
¡¡¡¡{
¡¡¡¡countx ++;
¡¡¡¡x = x&(x-1);
¡¡¡¡}
¡¡¡¡return countx;
¡¡¡¡}
¡¡¡¡¼Ù¶¨x = 9999¡£ ´ð°¸£º8
¡¡¡¡Ë¼Â·£º½«xת»¯Îª2½øÖÆ£¬¿´º¬ÓеÄ1µÄ¸öÊý¡£
¡¡¡¡2. ʲôÊÇ“ÒýÓÔ£¿ÉêÃ÷ºÍʹÓÓÒýÓ ......
ÕâÁ½Ìì¿´µ½ÓÐÈËÌÖÂ۵绰¼üÅÌÉϵÄ×Öĸ¡¢ºÅÂëºÍ×ÖĸµÄת»»£¬ÎÒÒ²Ëæ±ãдÁËÒ»¶Î
#include <stdio.h>
#include <string.h>
#include <ctype.h>
#define MAX_LEN 15
char *tbl_itoa[] =
{
"0", // 0
"1", // 1
"ABC", // 2
"DEF", // 3
"GHI", // 4
"JKL", // 5
"MNO", ......