64]系統(tǒng)1202具有可被實(shí)現(xiàn)為一個或多個電池的電源1270。電源1270還可包括外部功率源,如補(bǔ)充電池或?qū)﹄姵爻潆姷腁C適配器或加電對接托架。
[0065]系統(tǒng)1202還可包括執(zhí)行發(fā)射和接收無線電頻率通信的功能的無線電1272。無線電1272便于經(jīng)由通信載波或服務(wù)提供者在系統(tǒng)1202和“外部世界”之間的無線連接。來往無線電1272的傳輸是在操作系統(tǒng)1264的控制下進(jìn)行的。換言之,無線電1272接收的通信可通過操作系統(tǒng)1264傳播到應(yīng)用程序1266,反之亦然。
[0066]可以使用可視指示器1220來提供可視通知,和/或可以使用音頻接口 1274來經(jīng)由音頻換能器1225產(chǎn)生可聽通知。在所示實(shí)施例中,可視指示符1220是發(fā)光二極管(LED),而音頻換能器1225是揚(yáng)聲器。這些設(shè)備可直接耦合到電源1270,使得當(dāng)被激活時,即使為了節(jié)省電池功率而可能關(guān)閉處理器1260和其它組件,它們也保留一段由通知機(jī)制指示的保持通電時間。LED可被編程為無限地保持通電,直到用戶采取動作指示該設(shè)備的通電狀態(tài)。音頻接口 1274用于向用戶提供聽覺信號并從用戶接收聽覺信號。例如,除了被耦合到音頻換能器1225之外,音頻接口 1274還可被耦合到話筒來接收可聽輸入,例如便于電話通話。根據(jù)各本發(fā)明的各實(shí)施例,話筒也可充當(dāng)音頻傳感器來便于對通知的控制,如下文將描述的。系統(tǒng)1202可進(jìn)一步包括允許板載相機(jī)1230的操作來記錄靜止圖像、視頻流等的視頻接口 1276。
[0067]實(shí)現(xiàn)系統(tǒng)1200的移動計(jì)算設(shè)備1202可具有附加特征或功能。例如,移動計(jì)算設(shè)備1200還可包括附加數(shù)據(jù)存儲設(shè)備(可移動和/或不可移動),例如磁盤、光盤或磁帶。這種附加存儲在圖7B中用非易失性存儲區(qū)1268示出。
[0068]由移動計(jì)算設(shè)備1200生成或捕捉的且經(jīng)系統(tǒng)1202存儲的數(shù)據(jù)/信息可如上所述被本地存儲在移動計(jì)算設(shè)備1200上,或數(shù)據(jù)可被存儲在可由設(shè)備通過無線電1272或通過移動計(jì)算設(shè)備1200和與移動計(jì)算設(shè)備1200相關(guān)聯(lián)的一分開的計(jì)算設(shè)備之間的有線連接訪問的任何數(shù)量的存儲介質(zhì)上,該計(jì)算設(shè)備如例如因特網(wǎng)之類的分布式計(jì)算網(wǎng)絡(luò)中的服務(wù)器計(jì)算機(jī)。如應(yīng)理解的,此類數(shù)據(jù)/信息可經(jīng)移動計(jì)算設(shè)備1200、經(jīng)無線電1272或經(jīng)分布式計(jì)算網(wǎng)絡(luò)來被訪問。類似地,這些數(shù)據(jù)/信息可根據(jù)已知的數(shù)據(jù)/信息傳送和存儲手段來容易地在計(jì)算設(shè)備之間傳送以存儲和使用,這些手段包括電子郵件和協(xié)作數(shù)據(jù)/信息共享系統(tǒng)。
[0069]圖8解說了如上所述的用于編譯源代碼的系統(tǒng)的架構(gòu)的實(shí)施例。與編譯管理器26相關(guān)聯(lián)地開發(fā)、與其交互、或者與其相關(guān)聯(lián)地編輯的內(nèi)容可被存儲在不同的通信信道或者其他存儲類型中。例如,各種文檔可使用目錄服務(wù)1322、web門戶1324、郵箱服務(wù)1326、8口時消息收發(fā)存儲1328或社交聯(lián)網(wǎng)站點(diǎn)1330來存儲。編譯管理器26可使用這些類型的系統(tǒng)中的任一種類型的系統(tǒng)或相似的系統(tǒng)來實(shí)現(xiàn)數(shù)據(jù)利用,如本文中所描述的。服務(wù)器1320可將編譯管理器26提供給客戶端。作為一個示例,服務(wù)器1320可以是在web上提供編譯管理器26的web服務(wù)器。服務(wù)器1320可通過網(wǎng)絡(luò)1315在web上將編譯管理器26提供給客戶端。作為示例,客戶端計(jì)算設(shè)備可被實(shí)現(xiàn)為計(jì)算設(shè)備1100并體現(xiàn)為個人計(jì)算機(jī)、平板計(jì)算設(shè)備1310和/或移動計(jì)算設(shè)備1200(如智能電話)中。客戶端計(jì)算設(shè)備1100、1310、1200的這些實(shí)施例中的任一個可從存儲1316獲得內(nèi)容。
[0070]以上參考例如根據(jù)本發(fā)明的各實(shí)施方式的方法、系統(tǒng)和計(jì)算機(jī)程序產(chǎn)品的框圖和/或操作圖示描述了本發(fā)明的各實(shí)施方式??蛑兴⒚鞯母鞴δ?動作可以按不同于任何流程圖所示的次序出現(xiàn)。例如,取決于所涉及的功能/動作,連續(xù)示出的兩個框?qū)嶋H上可以基本上同時執(zhí)行,或者這些框有時可以按相反的次序來執(zhí)行。
[0071 ] 本申請中提供的一個或多個實(shí)施例的描述和說明不旨在以任何方式限制或約束如權(quán)利要求所要求保護(hù)的發(fā)明范圍。本申請中提供的實(shí)施例、示例和細(xì)節(jié)被認(rèn)為是足以傳達(dá)所有權(quán),且使得他人能夠制作并使用所要求保護(hù)的發(fā)明的最佳模式。所要求保護(hù)的發(fā)明不應(yīng)被理解為限制于本申請中所提供的任何實(shí)施例、示例或細(xì)節(jié)。不管是以組合的方式還是分開的方式示出和描述,各種特征(結(jié)構(gòu)上的和方法邏輯上的)旨在被選擇性地包括或忽略,以產(chǎn)生具有特定的特征集的實(shí)施例。在被提供本申請的描述和說明的情況下,本領(lǐng)域的技術(shù)人員能夠想象到落在所要求保護(hù)的發(fā)明的更寬泛方面以及本申請中所具體化的一般發(fā)明概念的精神內(nèi)的替代實(shí)施例并不背離該更寬泛的范圍。
【主權(quán)項(xiàng)】
1.一種用于并行地編譯源代碼的方法,包括: 訪問所述源代碼; 標(biāo)識包含在所述源代碼內(nèi)的類型; 將所述類型分割成形成匯編件的不同模塊; 對所述不同模塊中的每一個模塊執(zhí)行編譯,所述編譯并行地執(zhí)行;以及 生成所述模塊中的每一個模塊的可執(zhí)行代碼。2.根據(jù)權(quán)利要求1所述的方法,其特征在于,進(jìn)一步包括:通過解析所述源代碼來生成抽象句法樹(AST)。3.根據(jù)權(quán)利要求1所述的方法,其特征在于,每一模塊是作為.NET框架的一部分的所述匯編件的獨(dú)立分部。4.根據(jù)權(quán)利要求1所述的方法,其特征在于,標(biāo)識包含在所述源代碼內(nèi)的類型并行地發(fā)生。5.根據(jù)權(quán)利要求1所述的方法,其特征在于,將所述類型分割成形成匯編件的不同模塊包括:部分地基于可用于編譯的多個處理器確定要在其間分割所述類型的多個模塊。6.一種存儲用于并行地編譯源代碼的計(jì)算機(jī)可執(zhí)行指令的計(jì)算機(jī)可讀介質(zhì),包括: 訪問所述源代碼; 標(biāo)識包含在所述源代碼內(nèi)的類型中的每一種類型; 將所述類型分割成形成匯編件的不同模塊; 對所述不同模塊中的每一個模塊執(zhí)行編譯,所述編譯并行地執(zhí)行;以及 使用不同的處理線程來存儲在所述編譯期間生成的模塊中的每一個模塊的可執(zhí)行代碼。7.一種用于并行地編譯源代碼的系統(tǒng),包括: 處理器和存儲器; 使用所述處理器執(zhí)行的操作環(huán)境;以及 被配置成執(zhí)行動作的編譯管理器,所述動作包括: 訪問所述源代碼; 標(biāo)識包含在所述源代碼內(nèi)的類型中的每一種類型; 將所述類型分割成形成匯編件的不同模塊; 對所述不同模塊中的每一個模塊執(zhí)行編譯,所述編譯并行地執(zhí)行;以及 使用不同的處理線程來存儲在所述編譯期間生成的模塊中的每一個模塊的可執(zhí)行代碼。8.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,將所述類型分割成形成匯編件的不同模塊包括:確定要存儲所述類型的多個模塊;以及至少部分地基于可用于編譯的多個處理器將所述類型分割成所述多個模塊。9.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,對所述不同模塊中的每一個模塊執(zhí)行編譯包括:將每一模塊與單獨(dú)的處理線程相關(guān)聯(lián),并存儲并行發(fā)生的可執(zhí)行代碼。10.根據(jù)權(quán)利要求7所述的系統(tǒng),其特征在于,對所述不同模塊中的每一個模塊執(zhí)行編譯包括:在所述編譯的途徑期間豐富AST。
【專利摘要】使用包括與程序結(jié)構(gòu)相關(guān)的信息的編程語言的源代碼來生成抽象句法樹(AST)。可并行地執(zhí)行AST的生成。這些類型被分割成形成匯編件的多個(例如,可配置的)模塊。在編譯過程的不同階段期間,可并行地編譯每一模塊。由于不同的模塊(例如,并行地)編譯,因此來自不同模塊的編譯器元數(shù)據(jù)可被寫入可通過不同編譯過程訪問的存儲庫。在流經(jīng)編譯流水線之后,經(jīng)豐富的AST中的每一個AST都用于代碼生成,其中它們被變換成目標(biāo)語言(例如,可在硬件上執(zhí)行的代碼流)??蓤?zhí)行代碼接著被存儲為匯編件的一部分。代碼的存儲還可并行地執(zhí)行。
【IPC分類】G06F9/45
【公開號】CN105308565
【申請?zhí)枴緾N201480031172
【發(fā)明人】P·弗拉德森, G·普蘭卡特, T·杜塔
【申請人】微軟技術(shù)許可有限責(zé)任公司
【公開日】2016年2月3日
【申請日】2014年5月28日
【公告號】EP3005105A1, US20140359587, WO2014193869A1