首先,明確一點,咱這個項目只是做一個簡單的腳本語言而不是編譯型語言!!!其次,本文不需要太多專業知識,所以不慌。最後,本文只是簡單實現腳本語言,雖然不牛X......
一 準備工作:
1. 實驗環境 : linux
2.知識點 : 大一所學 C語言 知識
二 要做功能:
1.實現語法分析列印 hello-world
2.實現變量定義,賦值和銷毀
3.更多功能關注我後期發教程
三 要用到的幾個 C語言 基礎庫裡的函數,請了解這些函數後再繼續閱讀:
1. sscanf() //用於語法分析
2. setenv() //用於定義環境變量
3. unsetenv() //用於銷毀變量
4. getenv() //獲取變量值
四 開始試驗:
1.先明確下我們的語句格式
命令名稱 【參數】 【命令】
如我們要試驗的語句
echo "hello-world" //輸出 hello-world
直接上代碼 ,demo.c ,代碼如下
來個要解析的代碼文件:
運行代碼:
看完代碼,我想你該懂了吧。那好,進入第二個目標
2.實現變量:
到了最牛逼的環節了,實現變量。怎麼樣,是不是聽起來難度很大?是不是感覺需要學習諸如編譯原理這類的知識才能實現?非也!!!我們只需要藉助「系統環境變量」間接實現即可!!!
來個簡單的實例,在 linux 環境下,設置一個環境變量,並且獲取它的值,如圖
現在你該懂怎麼做了吧?首先用戶輸入
set var=betty
然後解析器在系統中設置一個名為 var 的環境變量,並且設置它的值為 betty,代碼如下
然後變量的賦值 銷毀就類似上面的操作
好了,就寫到這裡了,實在是太困了,所以內容質量有些小瑕疵,抱歉,至於如何實現 for if之類的東西,會後期出一個專門教程。關注作者第一時間獲取最新文章喔。
作者簡紹:一位OIer