Rev 2053 | Only display areas with differences | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2053 | Rev 2073 | ||
---|---|---|---|
1 | ¡§®à ¨â¥à¯à¥â â®à TinyPy ¨ § ¬¥âª¨ ¯® ¥£® ¤ ¯â 樨 ª à ¡®â¥ ¢ ®«¨¡à¨. |
1 | ¡§®à ¨â¥à¯à¥â â®à TinyPy ¨ § ¬¥âª¨ ¯® ¥£® ¤ ¯â 樨 ª à ¡®â¥ ¢ ®«¨¡à¨. |
2 | 2 | ||
3 | 1. â® â ª®¥ TinyPy ¨ 祬 ® å®à®è ¢ ¯« ¥ ¯®àâ¨à®¢ ¨ï |
3 | 1. â® â ª®¥ TinyPy ¨ 祬 ® å®à®è ¢ ¯« ¥ ¯®àâ¨à®¢ ¨ï |
4 | 4 | ||
5 | TinyPy - ¨â¥à¯à¥â â®à Python-¯®¤®¡®£® ï§ëª , ᮧ¤ ë© ¨«®¬ |
5 | TinyPy - ¨â¥à¯à¥â â®à Python-¯®¤®¡®£® ï§ëª , ᮧ¤ ë© ¨«®¬ |
6 | íáᨠ(Phil Hassey), ®â«¨ç î騩áï ®ç¥ì ¥¡®«ì訬¨ à §¬¥à ¬¨: ¢ë¡®à®¬ ®¯æ¨© |
6 | íáᨠ(Phil Hassey), ®â«¨ç î騩áï ®ç¥ì ¥¡®«ì訬¨ à §¬¥à ¬¨: ¢ë¡®à®¬ ®¯æ¨© |
7 | ª®¬¯¨«ï樨 ¬®¦® ¤®¡¨âìáï à §¬¥à®¢ ¨á¯®«ï¥¬®£® ¬®¤ã«ï ¢ ¯à¥¤¥« å 64 ª¨«®¡ ©â. |
7 | ª®¬¯¨«ï樨 ¬®¦® ¤®¡¨âìáï à §¬¥à®¢ ¨á¯®«ï¥¬®£® ¬®¤ã«ï ¢ ¯à¥¤¥« å 64 ª¨«®¡ ©â. |
8 | 8 | ||
9 | à¨ à §à ¡®âª¥ ¯à¨«®¦¥¨© ¤«ï ®«¨¡à¨ ¢ ¤àã£¨å ®¯¥à 樮ëå á¨á⥬ å |
9 | à¨ à §à ¡®âª¥ ¯à¨«®¦¥¨© ¤«ï ®«¨¡à¨ ¢ ¤àã£¨å ®¯¥à 樮ëå á¨á⥬ å |
10 | ¤®áâ㯥 ¤®¢®«ì® è¨à®ª¨© ¢ë¡®à ªà®áá-ª®¬¯¨«ïâ®à®¢. ¡®à á।áâ¢ à §à ¡®âª¨ ¢ |
10 | ¤®áâ㯥 ¤®¢®«ì® è¨à®ª¨© ¢ë¡®à ªà®áá-ª®¬¯¨«ïâ®à®¢. ¡®à á।áâ¢ à §à ¡®âª¨ ¢ |
11 | á ¬®© ®«¨¡à¨ ¤® ¥¤ ¢¥£® ¢à¥¬¥¨ ¡ë« ®£à ¨ç¥ FASM. ®¦® ¯à¥¤¯®«®¦¨âì, çâ® |
11 | á ¬®© ®«¨¡à¨ ¤® ¥¤ ¢¥£® ¢à¥¬¥¨ ¡ë« ®£à ¨ç¥ FASM. ®¦® ¯à¥¤¯®«®¦¨âì, çâ® |
12 | ¢®§¬®¦®áâì ᮧ¤ ¢ âì ¯à®£à ¬¬ë ¢ á ¬®© á¨á⥬¥ â ª®¬ «¥£ª®¨§ãç ¥¬®¬ ¨ |
12 | ¢®§¬®¦®áâì ᮧ¤ ¢ âì ¯à®£à ¬¬ë ¢ á ¬®© á¨á⥬¥ â ª®¬ «¥£ª®¨§ãç ¥¬®¬ ¨ |
13 | à á¯à®áâà ñ®¬ ï§ëª¥, ª ª Python, ¯®¢ëè ¥â ¯à¨¢«¥ª ⥫ì®áâì á¨áâ¥¬ë ¤«ï |
13 | à á¯à®áâà ñ®¬ ï§ëª¥, ª ª Python, ¯®¢ëè ¥â ¯à¨¢«¥ª ⥫ì®áâì á¨áâ¥¬ë ¤«ï |
14 | ¯®«ì§®¢ ⥫ï, ¤ «ñª®£® ®â ¯à®£à ¬¬¨à®¢ ¨ï áᥬ¡«¥à¥. |
14 | ¯®«ì§®¢ ⥫ï, ¤ «ñª®£® ®â ¯à®£à ¬¬¨à®¢ ¨ï áᥬ¡«¥à¥. |
15 | 15 | ||
16 | TinyPy ®ª § «áï «ñ£®ª ¢ ¯®àâ¨à®¢ ¨¨: § ç¨â¥«ì ï ç áâì ¥£® ¯¨á á ¬®¬ |
16 | TinyPy ®ª § «áï «ñ£®ª ¢ ¯®àâ¨à®¢ ¨¨: § ç¨â¥«ì ï ç áâì ¥£® ¯¨á á ¬®¬ |
17 | Python, ®áâ «ì ï ç áâì - C, ¨áå®¤ë¥ â¥ªáâë § ¨¬ îâ çãâì ¡®«ìè¥ 200 ¡. |
17 | Python, ®áâ «ì ï ç áâì - C, ¨áå®¤ë¥ â¥ªáâë § ¨¬ îâ çãâì ¡®«ìè¥ 200 ¡. |
18 | «ï ª®¬¯¨«ï樨 㦠⮫쪮 áâ ¤ àâ ï ¡¨¡«¨®â¥ª libc. § ¥ñ ¨á¯®«ì§ã¥âáï |
18 | «ï ª®¬¯¨«ï樨 㦠⮫쪮 áâ ¤ àâ ï ¡¨¡«¨®â¥ª libc. § ¥ñ ¨á¯®«ì§ã¥âáï |
19 | ¢á¥£® ®ª®«® ¯®«ãâ®à ¤¥áï⪮¢ äãªæ¨© (vsnprintf/vsprintf, malloc/memcpy/memmove/free, |
19 | ¢á¥£® ®ª®«® ¯®«ãâ®à ¤¥áï⪮¢ äãªæ¨© (vsnprintf/vsprintf, malloc/memcpy/memmove/free, |
20 | fopen/fread/fwrite/fclose). |
20 | fopen/fread/fwrite/fclose). |
21 | 21 | ||
22 | ¨â®£¥ à ¡®â ¯® ¯®àâ¨à®¢ ¨î TinyPy á®áâ®ï« ¨§ á«¥¤ãîé¨å ç á⥩: |
22 | ¨â®£¥ à ¡®â ¯® ¯®àâ¨à®¢ ¨î TinyPy á®áâ®ï« ¨§ á«¥¤ãîé¨å ç á⥩: |
23 | 1. ¯¨á ¨¥ Makefile ¤«ï ᡮન ª®¬¯¨«ïâ®à®¬ GCC á ¨á¯®«ì§®¢ ¨¥¬ |
23 | 1. ¯¨á ¨¥ Makefile ¤«ï ᡮન ª®¬¯¨«ïâ®à®¬ GCC á ¨á¯®«ì§®¢ ¨¥¬ |
24 | menuetlibc. |
24 | menuetlibc. |
25 | 2. ®¡ ¢«¥¨¥ ¢ menuetlibc ¥¤®áâ îé¨å äãªæ¨© vsnprintf/vsprintf. |
25 | 2. ®¡ ¢«¥¨¥ ¢ menuetlibc ¥¤®áâ îé¨å äãªæ¨© vsnprintf/vsprintf. |
26 | 3. ®¤ª«î票¥ ¡¨¡«¨®â¥ª¨ ®«¨¡à¨ ¤«ï à ¡®âë á ª®á®«ìî. |
26 | 3. ®¤ª«î票¥ ¡¨¡«¨®â¥ª¨ ®«¨¡à¨ ¤«ï à ¡®âë á ª®á®«ìî. |
27 | 4. ª®¥ç®, ®â«®¢ à §®®¡à §ëå ¬¥«ª¨å ¡ £®¢ (ª ª ¦¥ ¡¥§ í⮣®!). |
27 | 4. ª®¥ç®, ®â«®¢ à §®®¡à §ëå ¬¥«ª¨å ¡ £®¢ (ª ª ¦¥ ¡¥§ í⮣®!). |
28 | 28 | ||
29 | 2. ®§¬®¦®á⨠TinyPy. |
29 | 2. ®§¬®¦®á⨠TinyPy. |
30 | 30 | ||
31 | 2.1. ¨¯ë ¤ ëå. |
31 | 2.1. ¨¯ë ¤ ëå. |
32 | 32 | ||
33 | ¦¤ë© ®¡ê¥ªâ ¢ á।¥ TinyPy ¯à¥¤áâ ¢«ï¥âáï 16-¡ ©â®¢®© áâàãªâãன tp_obj. |
33 | ¦¤ë© ®¡ê¥ªâ ¢ á।¥ TinyPy ¯à¥¤áâ ¢«ï¥âáï 16-¡ ©â®¢®© áâàãªâãன tp_obj. |
34 | ¥à¢ë¥ 4 ¡ ©â § ¨¬ ¥â ⨯, ¨ § 票¥ ¯®á«¥¤ãîé¨å 12 ¡ ©â § ¢¨á¨â ®â ¥£®. |
34 | ¥à¢ë¥ 4 ¡ ©â § ¨¬ ¥â ⨯, ¨ § 票¥ ¯®á«¥¤ãîé¨å 12 ¡ ©â § ¢¨á¨â ®â ¥£®. |
35 | ®áâã¯ë á«¥¤ãî騥 ⨯ë: TP_NONE, TP_NUMBER, TP_STRING, TP_DICT, TP_LIST, |
35 | ®áâã¯ë á«¥¤ãî騥 ⨯ë: TP_NONE, TP_NUMBER, TP_STRING, TP_DICT, TP_LIST, |
36 | TP_FNC, TP_DATA. |
36 | TP_FNC, TP_DATA. |
37 | 37 | ||
38 | TP_NONE - ᮮ⢥âáâ¢ã¥â ¥¤¨á⢥®¬ã ®¡ê¥ªâã None. ®«ìè¥ ¯à® ¥£® ᪠§ âì |
38 | TP_NONE - ᮮ⢥âáâ¢ã¥â ¥¤¨á⢥®¬ã ®¡ê¥ªâã None. ®«ìè¥ ¯à® ¥£® ᪠§ âì |
39 | ¥ç¥£®. |
39 | ¥ç¥£®. |
40 | 40 | ||
41 | TP_NUMBER - ç¨á«®, åà ¨âáï ª ª float. ᫨ ç¨á«® ®â«¨ç ¥âáï ®â ¡«¨¦ ©è¥£® |
41 | TP_NUMBER - ç¨á«®, åà ¨âáï ª ª float. ᫨ ç¨á«® ®â«¨ç ¥âáï ®â ¡«¨¦ ©è¥£® |
42 | 楫®£® ¬¥ìè¥, 祬 10^(-6), ®® áç¨â ¥âáï 楫ë¬, ¨ ¯à¨ ¯¥ç ⨠¢ë¢®¤¨âáï |
42 | 楫®£® ¬¥ìè¥, 祬 10^(-6), ®® áç¨â ¥âáï 楫ë¬, ¨ ¯à¨ ¯¥ç ⨠¢ë¢®¤¨âáï |
43 | ª ª 楫®¥. ª¦¥ ª í⮬ã ⨯㠮â®áïâáï «®£¨ç¥áª¨¥ True ¨ False. |
43 | ª ª 楫®¥. ª¦¥ ª í⮬ã ⨯㠮â®áïâáï «®£¨ç¥áª¨¥ True ¨ False. |
44 | ®¤¤¥à¦¨¢ îâáï à¨ä¬¥â¨ç¥áª¨¥ ®¯¥à 樨 +,-,*,/,%, ¡¨â®¢ë¥ << ¨ >>, «®£¨ç¥áª¨¥ |
44 | ®¤¤¥à¦¨¢ îâáï à¨ä¬¥â¨ç¥áª¨¥ ®¯¥à 樨 +,-,*,/,%, ¡¨â®¢ë¥ << ¨ >>, «®£¨ç¥áª¨¥ |
45 | |, &. |
45 | |, &. |
46 | 46 | ||
47 | ਬ¥à: |
47 | ਬ¥à: |
48 | print(2+2*2, 7/3, (-7)%3, 1==True, 0==False) |
48 | print(2+2*2, 7/3, (-7)%3, 1==True, 0==False) |
49 | 49 | ||
50 | 뢮¤¨â: |
50 | 뢮¤¨â: |
51 | 6 2.333333 -1 1 1 |
51 | 6 2.333333 -1 1 1 |
52 | 52 | ||
53 | ¬¥â¨¬ áà §ã, çâ® print ï¥âáï äãªæ¨¥© (ª ª ¢ Python 3), â® ¥áâì ¯ à ¬¥âàë |
53 | ¬¥â¨¬ áà §ã, çâ® print ï¥âáï äãªæ¨¥© (ª ª ¢ Python 3), â® ¥áâì ¯ à ¬¥âàë |
54 | ®¡ï§ â¥«ì® ãª §ë¢ âì ¢ ᪮¡ª å. |
54 | ®¡ï§ â¥«ì® ãª §ë¢ âì ¢ ᪮¡ª å. |
55 | 55 | ||
56 | TP_STRING - áâப . ®¤¤¥à¦¨¢ îâáï: ¯à®¢¥àª ¢å®¦¤¥¨ï ("str1" in "str2"), á१ë s[:b], s[a:b], |
56 | TP_STRING - áâப . ®¤¤¥à¦¨¢ îâáï: ¯à®¢¥àª ¢å®¦¤¥¨ï ("str1" in "str2"), á१ë s[:b], s[a:b], |
57 | s[a:], äãªæ¨¨ len, index, join, split, find, strip, replace. |
57 | s[a:], äãªæ¨¨ len, index, join, split, find, strip, replace. |
58 | 58 | ||
59 | TP_DICT - á«®¢ àì, ® ¦¥ áá®æ¨ â¨¢ë© ¬ áᨢ. ®¤¤¥à¦¨¢ ¥âáï ¤®¡ ¢«¥¨¥ |
59 | TP_DICT - á«®¢ àì, ® ¦¥ áá®æ¨ â¨¢ë© ¬ áᨢ. ®¤¤¥à¦¨¢ ¥âáï ¤®¡ ¢«¥¨¥ |
60 | ®¢®£® í«¥¬¥â ¨ ¢á¥å í«¥¬¥â®¢ ¤à㣮£® á«®¢ àï. ¥à¥¡®à ¯® ¢á¥¬ ª«îç ¬ ¨ |
60 | ®¢®£® í«¥¬¥â ¨ ¢á¥å í«¥¬¥â®¢ ¤à㣮£® á«®¢ àï. ¥à¥¡®à ¯® ¢á¥¬ ª«îç ¬ ¨ |
61 | 㤠«¥¨¥ í«¥¬¥â®¢ ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï. «®¢ ਠ⠪¦¥ ïîâáï 㤮¡ë¬ ᯮᮡ®¬ |
61 | 㤠«¥¨¥ í«¥¬¥â®¢ ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï. «®¢ ਠ⠪¦¥ ïîâáï 㤮¡ë¬ ᯮᮡ®¬ |
62 | ¯à¥¤áâ ¢«¥¨ï ®¡ê¥ªâ®¢, ¢ ç áâ®áâ¨, ¥á«¨ d á«®¢ àì, â® § ¯¨á¨ d.key ¨ |
62 | ¯à¥¤áâ ¢«¥¨ï ®¡ê¥ªâ®¢, ¢ ç áâ®áâ¨, ¥á«¨ d á«®¢ àì, â® § ¯¨á¨ d.key ¨ |
63 | d['key'] à ¢®§ çë. í⮬ TinyPy ¥¬®£® ¯®¬¨ ¥â JavaScript. |
63 | d['key'] à ¢®§ çë. í⮬ TinyPy ¥¬®£® ¯®¬¨ ¥â JavaScript. |
64 | 64 | ||
65 | TP_LIST - ᯨ᮪. ®¤¤¥à¦¨¢ îâáï: ¯¥à¥¡®à ¯® í«¥¬¥â ¬ (for el in list), |
65 | TP_LIST - ᯨ᮪. ®¤¤¥à¦¨¢ îâáï: ¯¥à¥¡®à ¯® í«¥¬¥â ¬ (for el in list), |
66 | äãªæ¨¨ len, append/appendx, extend, insert/insertx, pop, find, index, sort. |
66 | äãªæ¨¨ len, append/appendx, extend, insert/insertx, pop, find, index, sort. |
67 | ª¦¥ ¯®¤¤¥à¦¨¢ ¥âáï äãªæ¨ï range. reverse() ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï. |
67 | ª¦¥ ¯®¤¤¥à¦¨¢ ¥âáï äãªæ¨ï range. reverse() ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï. |
68 | 68 | ||
69 | TP_FNC - äãªæ¨ï. ë¢ ¥â 2 ⨯®¢ - ®¡ëç ï äãªæ¨ï ¨ ¬¥â®¤, ®â«¨ç îâáï |
69 | TP_FNC - äãªæ¨ï. ë¢ ¥â 2 ⨯®¢ - ®¡ëç ï äãªæ¨ï ¨ ¬¥â®¤, ®â«¨ç îâáï |
70 | ¯®à浪®¬ ¢ë§®¢ . |
70 | ¯®à浪®¬ ¢ë§®¢ . |
71 | 71 | ||
72 | TP_DATA - ¢ãâ२¥ áâàãªâãàë TinyPy. |
72 | TP_DATA - ¢ãâ२¥ áâàãªâãàë TinyPy. |
73 | 73 | ||
74 | 2. ®§¬®¦®á⨠TinyPy ¢ áà ¢¥¨¨ á "¡®«ì訬" Python |
74 | 2. ®§¬®¦®á⨠TinyPy ¢ áà ¢¥¨¨ á "¡®«ì訬" Python |
75 | 75 | ||
76 | "what tinypy won't be: |
76 | "what tinypy won't be: |
77 | - a full implementation of Python; |
77 | - a full implementation of Python; |
78 | - totally compatible with Python" |
78 | - totally compatible with Python" |
79 | "roadmap.txt", tinypy sources |
79 | "roadmap.txt", tinypy sources |
80 | 80 | ||
81 | ¨â ªá¨á ï§ëª TinyPy ®ç¥ì ¯®å®¦ Python, ® ¬®£¨¥ áãé¥áâ¢¥ë¥ |
81 | ¨â ªá¨á ï§ëª TinyPy ®ç¥ì ¯®å®¦ Python, ® ¬®£¨¥ áãé¥áâ¢¥ë¥ |
82 | ¢®§¬®¦®á⨠Python ¥ ¯®¤¤¥à¦¨¢ îâáï: |
82 | ¢®§¬®¦®á⨠Python ¥ ¯®¤¤¥à¦¨¢ îâáï: |
83 | 83 | ||
84 | - ¨â¥à â®àë ¨ á®¯à®£à ¬¬; |
84 | - ¨â¥à â®àë ¨ á®¯à®£à ¬¬; |
85 | - á¨â ªá¨ç¥áª¨© "á å à" ¤«ï ®¡ê¥¨ï ᯨ᪮¢ ¨ á«®¢ ३, ¯®¤®¡¨¥ |
85 | - á¨â ªá¨ç¥áª¨© "á å à" ¤«ï ®¡ê¥¨ï ᯨ᪮¢ ¨ á«®¢ ३, ¯®¤®¡¨¥ |
86 | odd_squares = [a*a for a in range(100) if a%2]; |
86 | odd_squares = [a*a for a in range(100) if a%2]; |
87 | - ¨â¥à ªâ¨¢ ï ª®á®«ì |
87 | - ¨â¥à ªâ¨¢ ï ª®á®«ì. |
88 | - ¯¥à¥¤ ç ¯ à ¬¥â஢ ç¥à¥§ ARGV |
- | |
89 | - | ||
90 | ¡¨¡«¨®â¥ª¥ menuetlibc ¯à®æ¥¤ãà à §¡®à ¯ à ¬¥â஢ ª®¬ ¤®© áâப¨ ¯®ª |
- | |
91 | ¥ ¤ ¯â¨à®¢ ¤«ï ®«¨¡à¨, ¯®í⮬㠯ਠ§ ¯ã᪥ TinyPy ¯à¨å®¤¨âáï ¢¢®¤¨âì |
- | |
92 | ¨¬ï ä ©« ¢àãçãî, â ª¦¥ ¥«ì§ï ¯¥à¥¤ ¢ âì ¯ à ¬¥âàë ¢ ª®¬ ¤®© áâப¥. |
- | |
93 | 88 | ||
94 | ª®¥ç®, ¥ å¢ â ¥â ®á®¢®© ᨫë Python - ¥£® áâ ¤ à⮩ ¡¨¡«¨®â¥ª¨. |
89 | ª®¥ç®, ¥ å¢ â ¥â ®á®¢®© ᨫë Python - ¥£® áâ ¤ à⮩ ¡¨¡«¨®â¥ª¨. |
95 | 90 | ||
96 | 3. áè¨à¥¨¥ TinyPy. |
91 | 3. áè¨à¥¨¥ TinyPy. |
97 | 92 | ||
98 | ¡®à ¢áâ஥ëå äãªæ¨© ¢ TinyPy ¤®áâ â®ç® ¡¥¤¥, ® § â® ¤®¡ ¢«¥¨¥ ®¢ëå |
93 | ¡®à ¢áâ஥ëå äãªæ¨© ¢ TinyPy ¤®áâ â®ç® ¡¥¤¥, ® § â® ¤®¡ ¢«¥¨¥ ®¢ëå |
99 | ¬®¤ã«¥© ¤®áâ â®ç® ¯à®áâ®. áᬮâਬ ᮧ¤ ¨¥ ¬®¤ã«¥© á ¬®¬ TinyPy, |
94 | ¬®¤ã«¥© ¤®áâ â®ç® ¯à®áâ®. áᬮâਬ ᮧ¤ ¨¥ ¬®¤ã«¥© á ¬®¬ TinyPy, |
100 | C ¨ FASM. |
95 | C ¨ FASM. |
101 | 96 | ||
102 | 3.1. ®¤ã«¨ TinyPy. |
97 | 3.1. ®¤ã«¨ TinyPy. |
103 | 98 | ||
104 | TinyPy ¯®¤¤¥à¦¨¢ ¥â ¬®¤ã«ì®¥ ¯à®£à ¬¬¨à®¢ ¨¥, ᮧ¤ ¨¥ ¬®¤ã«¥© |
99 | TinyPy ¯®¤¤¥à¦¨¢ ¥â ¬®¤ã«ì®¥ ¯à®£à ¬¬¨à®¢ ¨¥, ᮧ¤ ¨¥ ¬®¤ã«¥© |
105 | ¯à¨æ¨¯¨ «ì® ¨ç¥¬ ¥ ®â«¨ç ¥âáï ®â Python. ãáâì, ã á ¥áâì ¯à®áâ ï |
100 | ¯à¨æ¨¯¨ «ì® ¨ç¥¬ ¥ ®â«¨ç ¥âáï ®â Python. ãáâì, ã á ¥áâì ¯à®áâ ï |
106 | ¯à®£à ¬¬ ¨§ ¤¢ãå ä ©«®¢: |
101 | ¯à®£à ¬¬ ¨§ ¤¢ãå ä ©«®¢: |
107 | 102 | ||
108 | ©« math.py: |
103 | ©« math.py: |
109 | def square(a): |
104 | def square(a): |
110 | return a*a |
105 | return a*a |
111 | 106 | ||
112 | ©« prog.py: |
107 | ©« prog.py: |
113 | import math |
108 | import math |
114 | 109 | ||
115 | if __name__=="__main__": |
110 | if __name__=="__main__": |
116 | math.square(12) |
111 | math.square(12) |
117 | 112 | ||
118 | ç «¥ 㦮 ᪮¬¯¨«¨à®¢ âì ¬®¤ã«ì math.py ¢ ¡ ©â-ª®¤ ¯à¨ ¯®¬®é¨ ¯à®£à ¬¬ë |
113 | ç «¥ 㦮 ᪮¬¯¨«¨à®¢ âì ¬®¤ã«ì math.py ¢ ¡ ©â-ª®¤ ¯à¨ ¯®¬®é¨ ¯à®£à ¬¬ë |
119 | py2bc.py, ® à ¡®â ¥â ª ª ¢ Python, â ª ¨ ¢ TinyPy. ¯®á«¥¤¥¬ á«ãç ¥ 㦮 |
114 | py2bc.py, ® à ¡®â ¥â ª ª ¢ Python, â ª ¨ ¢ TinyPy. ¯ã᪠¥¬ shell ¨ ¢ë¯®«ï¥¬ ª®¬ ¤ã |
120 | 㪠§ âì £«®¡ «ìë© ¬ áᨢ ARGV=[0, 'math.py', 'math.tpc'], â ª ª ª ¯¥à¥¤ âì |
115 | # tinypy py2bc.py math.py math.tpc |
- | 116 | ||
121 | ¯ à ¬¥âàë ç¥à¥§ ª®¬ ¤ãî áâப㠯®ª ¥«ì§ï. ®á«¥ í⮣® ¬®¦® § ¯ãáâ¨âì |
117 | ®á«¥ í⮣® ¬®¦® § ¯ãáâ¨âì prog.py ¨§ TinyPy. |
- | 118 | ||
- | 119 | # tinypy prog.py |
|
- | 120 | 144 |
|
- | 121 | ||
122 | prog.py ¨§ TinyPy. ¨â ªá¨á "from module import function" ¯®ª ¥ |
122 | ¬¥ç ¨¥: á¨â ªá¨á "from module import function" ¯®ª ¥ ¯®¤¤¥à¦¨¢ ¥âáï. |
123 | ¯®¤¤¥à¦¨¢ ¥âáï. |
- | |
124 | 123 | ||
125 | 3.2 ®¤ã«¨ C. |
124 | 3.2 ®¤ã«¨ C. |
126 | 125 | ||
127 | ਬ¥à ᮧ¤ ¨ï ¬®¤ã«¥© C ¬®¦® ¯®á¬®âà¥âì ¢ ª â «®£¥ modules/kolibri. ª¨¥ |
126 | ਬ¥à ᮧ¤ ¨ï ¬®¤ã«¥© C ¬®¦® ¯®á¬®âà¥âì ¢ ª â «®£¥ modules/kolibri. ª¨¥ |
128 | ¬®¤ã«¨ áâ â¨ç¥áª¨ «¨ªãîâáï á á ¬¨¬ ¨â¥à¯à¥â â®à®¬ ¨, ᮮ⢥âá⢥®, |
127 | ¬®¤ã«¨ áâ â¨ç¥áª¨ «¨ªãîâáï á á ¬¨¬ ¨â¥à¯à¥â â®à®¬ ¨, ᮮ⢥âá⢥®, |
129 | 㢥«¨ç¨¢ îâ ¥£® à §¬¥à. «ï ᨦ¥¨ï ª« ¤ëå à á室®¢ ª®¬¯®¥âë TinyPy |
128 | 㢥«¨ç¨¢ îâ ¥£® à §¬¥à. «ï ᨦ¥¨ï ª« ¤ëå à á室®¢ ª®¬¯®¥âë TinyPy |
130 | ª®¬¯¨«¨àãîâáï ¢ ®¤¨ ®¡ê¥ªâë© ¬®¤ã«ì, ä ©«ë ¨á室ëå ⥪á⮢ ¢ª«îç îâáï á |
129 | ª®¬¯¨«¨àãîâáï ¢ ®¤¨ ®¡ê¥ªâë© ¬®¤ã«ì, ä ©«ë ¨á室ëå ⥪á⮢ ¢ª«îç îâáï á |
131 | ¯®¬®éìî ¤¨à¥ªâ¨¢ë #include. ®¯®«¨â¥«ìë¥ ¬®¤ã«¨ ¬®£ãâ ª®¬¯¨«¨à®¢ âìáï ª ª ¢ |
130 | ¯®¬®éìî ¤¨à¥ªâ¨¢ë #include. ®¯®«¨â¥«ìë¥ ¬®¤ã«¨ ¬®£ãâ ª®¬¯¨«¨à®¢ âìáï ª ª ¢ |
132 | ®â¤¥«ìë¥ ®¡ê¥ªâë¥ ä ©«ë, ¢ í⮬ á«ãç ¥ 㦮 ¤®¯¨á âì ¨å ¢ Makefile, ¨«¨ |
131 | ®â¤¥«ìë¥ ®¡ê¥ªâë¥ ä ©«ë, ¢ í⮬ á«ãç ¥ 㦮 ¤®¯¨á âì ¨å ¢ Makefile, ¨«¨ |
133 | â®ç® â ª ¦¥ ¯®¤ª«îç âìáï ¤¨à¥ªâ¨¢®© include. |
132 | â®ç® â ª ¦¥ ¯®¤ª«îç âìáï ¤¨à¥ªâ¨¢®© include. |
134 | 133 | ||
135 | ¬®¤ã«¥ ¤®«¦ ¯à¨áãâá⢮¢ âì äãªæ¨ï ¨¨æ¨ «¨§ 樨 ®¡ëç® ® §ë¢ ¥âáï |
134 | ¬®¤ã«¥ ¤®«¦ ¯à¨áãâá⢮¢ âì äãªæ¨ï ¨¨æ¨ «¨§ 樨 ®¡ëç® ® §ë¢ ¥âáï |
136 |
|
135 |
|
137 | ¬ è¨ë, ᮧ¤ ñâ á«®¢ àì íªá¯®àâ¨à㥬ëå ®¡ê¥ªâ®¢ ¨ ¤®¡ ¢«ï¥â ¥£® ¢ ¯à¥¤®¯à¥¤¥«ñë© á«®¢ àì modules. |
136 | ¬ è¨ë, ᮧ¤ ñâ á«®¢ àì íªá¯®àâ¨à㥬ëå ®¡ê¥ªâ®¢ ¨ ¤®¡ ¢«ï¥â ¥£® ¢ ¯à¥¤®¯à¥¤¥«ñë© á«®¢ àì modules. |
138 | 137 | ||
139 | â®¡ë ®¯à¥¤¥«¨âì TinyPy-äãªæ¨î, 㦮 ᮧ¤ âì ®¡ëçãî äãªæ¨î C ¢¨¤ |
138 | â®¡ë ®¯à¥¤¥«¨âì TinyPy-äãªæ¨î, 㦮 ᮧ¤ âì ®¡ëçãî äãªæ¨î C ¢¨¤ |
140 | 139 | ||
141 | tp_obj myfunc(tp_vm *tp); |
140 | tp_obj myfunc(tp_vm *tp); |
142 | 141 | ||
143 | 3.3 ®¤ã«¨ FASM. |
142 | 3.3 ®¤ã«¨ FASM. |
144 | 143 | ||
145 | ®¤ã«ì FASM ¯¨è¥âáï «®£¨ç®, ® ¢á¥£¤ ª®¬¯¨«¨àã¥âáï ¢ ®â¤¥«ìë© |
144 | ®¤ã«ì FASM ¯¨è¥âáï «®£¨ç®, ® ¢á¥£¤ ª®¬¯¨«¨àã¥âáï ¢ ®â¤¥«ìë© |
146 | ®¡ê¥ªâë© ä ©«. ਬ¥à ¬®¦® ¯®á¬®âà¥âì ¢ ª â «®£¥ fasm_modules. ®¤ã«ì |
145 | ®¡ê¥ªâë© ä ©«. ਬ¥à ¬®¦® ¯®á¬®âà¥âì ¢ ª â «®£¥ fasm_modules. ®¤ã«ì |
147 | kolibri_dbg íªá¯®àâ¨àã¥â ®¤ã äãªæ¨î debug_print, ¢ë¢®¤ïéãî áâப㠤®áªã |
146 | kolibri_dbg íªá¯®àâ¨àã¥â ®¤ã äãªæ¨î debug_print, ¢ë¢®¤ïéãî áâப㠤®áªã |
148 | ®â« ¤ª¨. |
147 | ®â« ¤ª¨. |
149 | 148 | ||
150 | 4. ¡§®à ¬®¤ã«ï kolibri. |
149 | 4. ¡§®à ¬®¤ã«ï kolibri. |
151 | 150 | ||
152 | த®«¦¥¨¥ á«¥¤ã¥â.><> |
151 | த®«¦¥¨¥ á«¥¤ã¥â.><> |