編譯器開發(一)

2021-06-19 18:48:33 字數 1007 閱讀 4860

好吧。在學習完編譯原理之後終於自己做了乙個編譯器的前端。

當然只是乙個很簡單的前端。

前端分為詞法分析,語法分析和語義分析。

語法的結構如下:

<

程式》::= main()<

語句塊》

<

語句塊》::= 『』

<

語句串》::=<

語句》;

<

語句》::=<

賦值語句

>|<

條件語句

>|<

迴圈語句

>

<

賦值語句

>::=id=<

表示式》

<

條件語句

>::=if<

條件》<

語句塊》[else<

語句塊》]

<

迴圈語句

>::=do<

語句塊》while<

條件》<

條件》::=<

表示式》<

關係運算子

><

表示式》

<

表示式》::= <

項》<

項》::= <

因子》<

因子》::=id|num|(<

表示式》)

num::=( +|-|ε )

數字數字

*(.數字數字

*| ε)( e ( +|-|ε )

數字數字

*|ε)

id::=字母(

字母|數字)*

字母::=a|b|c…|z|a|b|c…|z 數字

::=0|1|2…|9

<

關係運算子

>::= <|<=|>|>=|==|!=

當然這個語法結構還有很多不完善的地方,比如說宣告語句的實現,以及布林表示式的實現等等。

會在以後的時間逐步去完善,爭取在寫出乙個後端出來。

只是乙個簡單的語法結構來窺探如何開發乙個編譯器的前端。

QtCreator MSVC編譯器開發

qt在windows中的編譯,一般使用兩種編譯器,msvc和mingw mingw minimalist gnu for windows 是乙個gcc和gnu binutils的原生軟體埠,用於在windows上開發原生的microsoft windows應用程式。mingw和qt creator以...

編譯方舟編譯器

環境 mac os parallels desktop 安裝ubuntu 16.04 安裝基礎包 sudo apt get y install openjdk 8 jdk git core gnupg flex bison gperf build essential zip curl zlib1g ...

方舟編譯器編譯

目錄環境變數 安裝 ninja 和 gn 編譯成功 總結2019.9.1 編譯華為方舟編譯器原始碼 這篇文章僅僅是關於如何搭建環境並進行編譯。本機環境 ubuntu 16 server.一定要好好看參考文件!建議使用root賬戶操作 先 clone 原始碼華為開源平台 對應的參考文件openarkc...