創(chuàng)建自己的腳本語言(入門)本教程的平臺是Windows平臺,編輯器VS 2017 個人版

創(chuàng)建一個簡陋的基礎(chǔ)版腳本解析器

1:直接用你的代碼編輯工具創(chuàng)建一個命令行項目


創(chuàng)建項目
這個是main里的代碼
#include "pch.h"
#include <iostream>

int main()
{
    std::cout << "開始腳本\n"; 
    return 0;
}

運行之后會出現(xiàn) 開始腳本

2:把你生成的.exe文件目錄加到path里

windows是 我的電腦->右鍵->屬性->高級系統(tǒng)設(shè)置->高級->環(huán)境變量->找到path點擊編輯

打開path編輯界面

把你.exe的路徑加到path里,(vs項目:點擊運行后會在項目目錄的Debug里生成一個.exe)


添加路徑

3:現(xiàn)在運行cmd 輸入你的.exe名稱就能運行你的.exe了


qpl4.png

4:給.exe添加啟動參數(shù)

就是把沒有參數(shù)的main改成有參數(shù)的main
代碼


#include "pch.h"
#include <iostream>
#include <fstream>
using namespace std;
int main(int argc, char **argv)
{
    printf("開始腳本\n");
    cout << "你輸入了" << argc << "個參數(shù)" << endl;
    cout << "腳本解析器路徑" << argv[0] << endl;
    for (int i = 0; i < argc; i++) {
        if (i != 0) {
            cout << "第" << i << "個參數(shù)是" << argv[i] << endl;
        }
    }
    
    printf("腳本結(jié)束");

    return 0;

}

輸出


輸出

5:現(xiàn)在開始讀取自己創(chuàng)建的腳本文件(就是文本文件改成自己想要的后綴名)

這里文件后綴用.qplog 文件里只有一句話


腳本文件截圖

6:修改main文件讀取腳本
代碼


#include "pch.h"
#include <iostream>
#include <fstream>
#include <sstream>  
#include <Windows.h>
using namespace std;
int main(int argc, char **argv)
{

    cout << "腳本解析器路徑" << argv[0] << endl;
    
    if (argc > 1) {
        cout << "腳本文件地址" << argv[1] << endl;


        fstream infile(argv[1]);
        if (infile.is_open()) {
            stringstream ss; // 創(chuàng)建字符串流對象
            ss << infile.rdbuf(); // 把文件流中的字符輸入到字符串流中
            string str = ss.str(); // 獲取流中的字符串
            
            cout << "腳本內(nèi)容" << endl;
            cout << str << endl;

        }
        else {
            //文字顯示顏色,不用管
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED| FOREGROUND_INTENSITY);

            cerr << "沒找到腳本文件" << endl;

            //文字顯示顏色,不用管
            SetConsoleTextAttribute(GetStdHandle(STD_OUTPUT_HANDLE), FOREGROUND_RED | FOREGROUND_GREEN | FOREGROUND_BLUE );
        }
        infile.close();
    }

    printf("腳本結(jié)束");

    return 0;

}


輸出


輸出

簡單的腳本解析器已經(jīng)完成,大佬們可以愉快的創(chuàng)建自己的腳本語言了

點擊這里可以看到作者的其他文章

歡迎轉(zhuǎn)載,轉(zhuǎn)載請標(biāo)明出處

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容