LABEL / Compiler

#Compiler

6 posts

simple gcc plugin analysis

gcc plugin 簡述 在網路上這部分的資訊非常的稀少,剛好有 https://zhuanlan.zhihu.com/p/49490338 假設要做分析的話我們首先要了解這個 plugin 是實作在哪一個階段,也就是 我們是實作在gcc compiler 的這個階段 就是我們中間層 ir的部分 加入我們額外新增的一些gcc 原生的 api 進行分析 https://code…

Systems, OS & Compilers
simple gcc plugin analysis

simple llvm pass analysis

simple llvm pass analysis 分析一個專案 andersen 可以看到專案程式裡面可以知道透過分析IR 的來額外進行andersen分析,在上程式分析的課時候學習了如何效能,這個專案可以幫助我們很快速的熟悉如何在llvm 加上一層 pass,也可以在編譯時期階段經過CMAKE產生MAKEFILE檔,透過調整參數讓我們可以調整COMPILER,整個專案運作流…

Systems, OS & Compilers
simple llvm pass analysis

針對虛擬機一次的分析

可能是我的問題,或者是編譯器的問題, 或者組譯器問題 或者 虛擬機問題 在目前來說我發現在 cpu0 這個程式,我的input 是 code Copy sum = 0; for (i=0; i<=10; i++) { sum = sum + i; } return sum; 我拿去run 裡面的虛擬機 cpu.h? 好像會無窮迴圈我把暫存器印出來 發現裡面呼叫 defin…

Systems, OS & Compilers
針對虛擬機一次的分析

針對編譯器一次分析

實際上我們的編譯器要從高階語言 到 組合語言的過程 要經過 掃描器(Lexer) 剖析器(Parser) 語意分析 (Semantic Analysis) 中間碼產生 (P-code) 最佳化(Optimization) 產生組合語言 (Asm Generator) 那麼我們來跟蹤一下老師的程式碼,來看看整個流程大致上是如何 INPUT code Copy sum = 0; f…

Systems, OS & Compilers
針對編譯器一次分析

研究 cb compiler (二) 更改 FOR 與 INT STMT

cbc 編譯器 Compiler、詞法分析器 Lexical Analyzer、語法分析器 Parser 該來往這邊把基本知識補足,在看到 https://buzzorange.com/techorange/2020/01/21/coding-language-mulan-python/ 木蘭程式語言可能也是像 cbc 這種 基於高階語言實現的 二次complier 應該能更動…

Systems, OS & Compilers
研究 cb compiler (二) 更改 FOR 與 INT STMT

研究 cb compiler (一) 編譯 net/loveruby/cflat/ package

最近要來研究一下compiler https://github.com/leungwensen/cbc-ubuntu-64bit cb是 基於 c語言的 簡化版,目前好像有看到cbc 編譯 cb 文件,看了官網也只有 make 檔,先來研究 看到了build.properties build.xml,makefile 裡面也有 ant 發現好像這部分的沒資料來幫忙補充一下 所以…

Systems, OS & Compilers
研究 cb compiler (一) 編譯 net/loveruby/cflat/ package