資料介紹
軟件簡介
Build→It?是一個輕量級的基于類型的 C++ Multi-stage programming 框架??梢宰屇阍趲缀醪涣私饩幾g器的情況下輕松實現(xiàn)領(lǐng)域特定語言(domain-specific languages,DSL)。
除了使用運算符重載提取表達式和語句外,該工具還支持提取豐富的數(shù)據(jù)相關(guān)的控制流,如 if-then-else 條件和 for 和 while 循環(huán),并使用新穎的重執(zhí)行策略來探索程序中的所有控制流路徑。
Build→It turns -
templatedyn_var power_f(BT base, ET exponent) { dyn_var res = 1, x = base; while (exponent > 1) { if (exponent % 2 == 1) res = res * x; x = x * x; exponent = exponent / 2; } return res * x; } ... int power = 15; context.extract_function_ast(power_f , static_var >, "power_15", power); ... int base = 5; context.extract_function_ast(power_f , dyn_var >, "power_5", base); ...
into -
int power_15 (int arg0) { int var0 = arg0; int var1 = 1; int var2 = var0; var1 = var1 * var2; var2 = var2 * var2; var1 = var1 * var2; var2 = var2 * var2; var1 = var1 * var2; var2 = var2 * var2; int var3 = var1 * var2; return var3; } int power_5 (int arg1) { int var0 = arg1; int var1 = 1; int var2 = 5; while (var0 > 1) { if ((var0 % 2) == 1) { var1 = var1 * var2; } var2 = var2 * var2; var0 = var0 / 2; } int var3 = var1 * var2; return var3; }
Build→It 使用純基于庫的方法,并且不需要任何特殊的編譯器修改,這使得它具有極高的可移植性,并且易于集成到現(xiàn)有的代碼庫中。使用 Build→It 很簡單,只需包含一些頭文件,并針對 Build→It 庫進行鏈接。
Build→It 使用聲明的變量和表達式類型來確定綁定時間。添加了 2 個新的通用類型 -static_var 和 dyn_var,使用戶程序可以分為 2 個階段。這些類型可以任意嵌套以產(chǎn)生更多階段的代碼。
什么是 multi-stage programming,以及為什么 multi-stage programming 對高性能 DSL 很重要?具體可查看官方發(fā)表的一篇論文。
- 如何創(chuàng)建和使用LabVIEW中的LLB文件 0次下載
- 基于機器視覺的非特定物體智能抓取系統(tǒng) 26次下載
- DSP載波移相控制C語言源代碼下載 57次下載
- EE-192:使用C語言在Blackfin?處理器上創(chuàng)建中斷驅(qū)動系統(tǒng)
- 基于深度學(xué)習(xí)的自然語言處理對抗樣本模型 39次下載
- Visual C++和MFC創(chuàng)建的應(yīng)用程序基礎(chǔ)知識 0次下載
- allegro與PADS的區(qū)別及創(chuàng)建PCB封裝的步驟 67次下載
- 使用單片機實現(xiàn)雙色點陣顯示特定圖形的C語言程序免費下載 11次下載
- 基于SPESC到目標(biāo)程序語言的智能合約系統(tǒng)框架 15次下載
- C語言接口與實現(xiàn)創(chuàng)建可重用軟件的技術(shù)PDF電子書免費下載 18次下載
- 如何使用VS2013做C語言編譯器的創(chuàng)建方法詳細(xì)資料說明 8次下載
- 《C語言接口與實現(xiàn):創(chuàng)建可重用軟件的技術(shù)》電子教材免費下載 32次下載
- Verilog語言數(shù)字系統(tǒng)設(shè)計教程的詳細(xì)資料免費下載 0次下載
- AN1246中文手冊之如何在Microchip圖形庫中創(chuàng)建控件
- 視覺語言如何用來通過簡單地繪制算法的框圖來快速地創(chuàng)建嵌入式系統(tǒng) 8次下載
- fpga語言是什么?fpga語言與c語言的區(qū)別 981次閱讀
- 大語言模型推斷中的批處理效應(yīng) 667次閱讀
- 用VHDL語言創(chuàng)建一個8位算術(shù)邏輯單元(ALU) 2139次閱讀
- systemverilog的決策語句if…else語句介紹 3290次閱讀
- 視覺語言導(dǎo)航領(lǐng)域任務(wù)、方法和未來方向的綜述 4416次閱讀
- 用10行 BASIC 語言創(chuàng)建很棒的游戲 1899次閱讀
- 如何在Vitis HLS中使用C語言代碼創(chuàng)建AXI4-Lite接口 1872次閱讀
- C語言中函數(shù)的創(chuàng)建以及使用 5817次閱讀
- 以Python語言為例探討語音內(nèi)存管理方式 565次閱讀
- 簡要介紹einsum表示法的概念,通過真實例子展示了einsum的表達力 1.2w次閱讀
- 學(xué)習(xí)開發(fā)環(huán)境和編程語言:匯編語言和C語言的比較 9081次閱讀
- scala語言主要應(yīng)用領(lǐng)域詳解 1.9w次閱讀
- 利用C語言創(chuàng)建windows窗口的程序解析 1.1w次閱讀
- c語言的應(yīng)用領(lǐng)域有哪些 3.2w次閱讀
- 淺談領(lǐng)域特定語言 4125次閱讀
下載排行
本周
- 1DD3118電路圖紙資料
- 0.08 MB | 1次下載 | 免費
- 2AD庫封裝庫安裝教程
- 0.49 MB | 1次下載 | 免費
- 3PC6206 300mA低功耗低壓差線性穩(wěn)壓器中文資料
- 1.12 MB | 1次下載 | 免費
- 4網(wǎng)絡(luò)安全從業(yè)者入門指南
- 2.91 MB | 1次下載 | 免費
- 5DS-CS3A P00-CN-V3
- 618.05 KB | 1次下載 | 免費
- 6海川SM5701規(guī)格書
- 1.48 MB | 次下載 | 免費
- 7H20PR5電磁爐IGBT功率管規(guī)格書
- 1.68 MB | 次下載 | 1 積分
- 8IP防護等級說明
- 0.08 MB | 次下載 | 免費
本月
- 1貼片三極管上的印字與真實名稱的對照表詳細(xì)說明
- 0.50 MB | 103次下載 | 1 積分
- 2涂鴉各WiFi模塊原理圖加PCB封裝
- 11.75 MB | 89次下載 | 1 積分
- 3錦銳科技CA51F2 SDK開發(fā)包
- 24.06 MB | 43次下載 | 1 積分
- 4錦銳CA51F005 SDK開發(fā)包
- 19.47 MB | 19次下載 | 1 積分
- 5PCB的EMC設(shè)計指南
- 2.47 MB | 16次下載 | 1 積分
- 6HC05藍牙原理圖加PCB
- 15.76 MB | 13次下載 | 1 積分
- 7802.11_Wireless_Networks
- 4.17 MB | 12次下載 | 免費
- 8蘋果iphone 11電路原理圖
- 4.98 MB | 6次下載 | 2 積分
總榜
- 1matlab軟件下載入口
- 未知 | 935127次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420064次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233089次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191390次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183342次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81588次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73815次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65989次下載 | 10 積分
評論