資料介紹
軟件簡介
Build→It?是一個輕量級的基于類型的 C++ Multi-stage programming 框架。可以讓你在幾乎不了解編譯器的情況下輕松實現領域特定語言(domain-specific languages,DSL)。
除了使用運算符重載提取表達式和語句外,該工具還支持提取豐富的數據相關的控制流,如 if-then-else 條件和 for 和 while 循環,并使用新穎的重執行策略來探索程序中的所有控制流路徑。
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 使用純基于庫的方法,并且不需要任何特殊的編譯器修改,這使得它具有極高的可移植性,并且易于集成到現有的代碼庫中。使用 Build→It 很簡單,只需包含一些頭文件,并針對 Build→It 庫進行鏈接。
Build→It 使用聲明的變量和表達式類型來確定綁定時間。添加了 2 個新的通用類型 -static_var 和 dyn_var,使用戶程序可以分為 2 個階段。這些類型可以任意嵌套以產生更多階段的代碼。
什么是 multi-stage programming,以及為什么 multi-stage programming 對高性能 DSL 很重要?具體可查看官方發表的一篇論文。
- 如何創建和使用LabVIEW中的LLB文件 0次下載
- 基于機器視覺的非特定物體智能抓取系統 25次下載
- DSP載波移相控制C語言源代碼下載 56次下載
- EE-192:使用C語言在Blackfin?處理器上創建中斷驅動系統
- 基于深度學習的自然語言處理對抗樣本模型 39次下載
- Visual C++和MFC創建的應用程序基礎知識 0次下載
- allegro與PADS的區別及創建PCB封裝的步驟 66次下載
- 使用單片機實現雙色點陣顯示特定圖形的C語言程序免費下載 11次下載
- 基于SPESC到目標程序語言的智能合約系統框架 15次下載
- C語言接口與實現創建可重用軟件的技術PDF電子書免費下載 18次下載
- 如何使用VS2013做C語言編譯器的創建方法詳細資料說明 8次下載
- 《C語言接口與實現:創建可重用軟件的技術》電子教材免費下載 32次下載
- Verilog語言數字系統設計教程的詳細資料免費下載 0次下載
- AN1246中文手冊之如何在Microchip圖形庫中創建控件
- 視覺語言如何用來通過簡單地繪制算法的框圖來快速地創建嵌入式系統 8次下載
- fpga語言是什么?fpga語言與c語言的區別 723次閱讀
- 大語言模型推斷中的批處理效應 481次閱讀
- 用VHDL語言創建一個8位算術邏輯單元(ALU) 1512次閱讀
- systemverilog的決策語句if…else語句介紹 2750次閱讀
- 視覺語言導航領域任務、方法和未來方向的綜述 3508次閱讀
- 用10行 BASIC 語言創建很棒的游戲 1767次閱讀
- 如何在Vitis HLS中使用C語言代碼創建AXI4-Lite接口 1580次閱讀
- C語言中函數的創建以及使用 5355次閱讀
- 以Python語言為例探討語音內存管理方式 516次閱讀
- 簡要介紹einsum表示法的概念,通過真實例子展示了einsum的表達力 1.2w次閱讀
- 學習開發環境和編程語言:匯編語言和C語言的比較 8893次閱讀
- scala語言主要應用領域詳解 1.9w次閱讀
- 利用C語言創建windows窗口的程序解析 1.1w次閱讀
- c語言的應用領域有哪些 3.2w次閱讀
- 淺談領域特定語言 4003次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數據手冊
- 1.06 MB | 532次下載 | 免費
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費
- 3TC358743XBG評估板參考手冊
- 1.36 MB | 330次下載 | 免費
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費
- 5元宇宙深度解析—未來的未來-風口還是泡沫
- 6.40 MB | 227次下載 | 免費
- 6迪文DGUS開發指南
- 31.67 MB | 194次下載 | 免費
- 7元宇宙底層硬件系列報告
- 13.42 MB | 182次下載 | 免費
- 8FP5207XR-G1中文應用手冊
- 1.09 MB | 178次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 2555集成電路應用800例(新編版)
- 0.00 MB | 33566次下載 | 免費
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費
- 4開關電源設計實例指南
- 未知 | 21549次下載 | 免費
- 5電氣工程師手冊免費下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費
- 6數字電路基礎pdf(下載)
- 未知 | 13750次下載 | 免費
- 7電子制作實例集錦 下載
- 未知 | 8113次下載 | 免費
- 8《LED驅動電路設計》 溫德爾著
- 0.00 MB | 6656次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537798次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191187次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183279次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138040次下載 | 免費
評論
查看更多