這篇文章主要介紹易語言怎么通過文本解析的方式把C代碼轉換成易代碼,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
創新互聯專注于江華網站建設服務及定制,我們擁有豐富的企業做網站經驗。 熱誠為您提供江華營銷型網站建設,江華網站制作、江華網頁設計、江華網站官網定制、小程序開發服務,打造江華網絡公司原創品牌,更為您提供江華網站排名全網營銷落地服務。
常量數據表
.版本 2 .常量 c, "<文本長度: 759>", , '常量值是一段C代碼
C代碼轉易代碼
.版本 2
.支持庫 commobj
.支持庫 iext2
.程序集 窗口程序集_啟動窗口
.程序集變量 k, 快速文本對象
.程序集變量 k2, 快速文本對象
.子程序 __啟動窗口_創建完畢
.局部變量 z, 字符格式
z.字體大小 = 8
z.字體名稱 = “微軟雅黑”
d1.置默認字符格式 (z)
d2.置默認字符格式 (z)
d1.內容 = #c
.子程序 替換_程序命名, 文本型
.參數 str, 文本型
.局部變量 替換到
.局部變量 位置1
.局部變量 位置2
.局部變量 s, 文本型, , "0"
.局部變量 s2, 文本型, , "0"
.局部變量 替換, 文本型, , "0"
.局部變量 替換為, 文本型, , "0"
.局部變量 參考數組, 文本型
.局部變量 i
k.置文本 (str)
位置1 = k.尋找文本 (“void”, , 假)
.如果真 (位置1 = -1)
返回 (str)
.如果真結束
位置2 = k.尋找文本 (“{”, 位置1, 假)
k2.置文本 (k.取文本 (位置1, 位置2 - 位置1))
k2.替換子文本 (#換行符, “”, , , 假)
k2.替換子文本 (“void”, “.子程序”, , , 假)
k2.替換子文本 (“,”, #換行符, , , 假)
k2.替換子文本 (“(”, #換行符, , 1, 假)
位置1 = k2.倒找文本 (“)”, , 真)
.如果真 (位置1 ≠ -1)
k2.替換文本 (位置1, 1, “”)
.如果真結束
str = “”
s = k2.分割文本 (#換行符, )
.計次循環首 (取數組成員數 (s), i)
s2 = 分割文本 (刪首尾空 (s [i]), “ ”, )
.如果 (取文本右邊 (s2 [2], 1) = “]”)
s2 [2] = 文本_最右標識取左 (s2 [2], “[”)
參考數組 = “, 數組”
.否則
參考數組 = “”
.如果結束
.如果真 (取文本左邊 (s2 [2], 1) = “(”)
s2 [2] = 文本_按前兩標識取中 (s2 [2], “(&”, “)”)
參考數組 = “, 參考 數組”
.如果真結束
.如果真 (取文本左邊 (s2 [2], 1) = “&”)
s2 [2] = 取文本右邊 (s2 [2], 取文本長度 (s2 [2]) - 1)
參考數組 = “, 參考”
.如果真結束
.判斷開始 (s2 [1] = “float”)
str = str + “.參數 ” + s2 [2] + “, 小數型” + 參考數組 + #換行符
.判斷 (s2 [1] = “int” 或 s2 [1] = “long”)
str = str + “.參數 ” + s2 [2] + “, 整數型” + 參考數組 + #換行符
.判斷 (s2 [1] = “string”)
str = str + “.參數 ” + s2 [2] + “, 文本型” + 參考數組 + #換行符
.判斷 (s2 [1] = “short”)
str = str + “.參數 ” + s2 [2] + “, 短整數型” + 參考數組 + #換行符
.默認
str = str + s [i] + #換行符
.判斷結束
.計次循環尾 ()
返回 (str)
.子程序 替換_索引數字累加, 文本型
.參數 文本, 文本型
.局部變量 i1
.局部變量 i2
.局部變量 k0, 快速文本對象
k0.置文本 (文本)
.循環判斷首 ()
i1 = k0.尋找文本 (“[”, i2, 真)
.如果真 (i1 = -1)
跳出循環 ()
.如果真結束
i1 = i1 + 1
i2 = k0.尋找文本 (“]”, i1, 真)
.如果真 (i2 = -1)
跳出循環 ()
.如果真結束
.判斷開始 (到整數 (k0.取文本 (i1, i2 - i1)) > 0)
k0.替換文本 (i1, i2 - i1, 到文本 (到整數 (k0.取文本 (i1, i2 - i1)) + 1))
.判斷 (到字節集 (k0.取文本 (i1, i2 - i1)) = { 48 })
k0.替換文本 (i1, 1, “1”)
.默認
.判斷結束
.循環判斷尾 (真)
返回 (k0.取文本 (, ))
.子程序 替換_注釋, 文本型
.參數 文本, 文本型
.局部變量 i1
.局部變量 i2
k2.置文本 (文本)
.循環判斷首 ()
i1 = k2.尋找文本 (“//”, i2, 真)
.如果真 (i1 = -1)
跳出循環 ()
.如果真結束
i2 = k2.尋找文本 (#換行符, i1, 真)
.如果真 (i2 = -1)
跳出循環 ()
.如果真結束
k2.替換文本 (i1, i2 - i1, “'” + k2.取文本 (i1 + 2, i2 - i1 - 2) + “;”)
.循環判斷尾 (真)
返回 (k2.取文本 (, ))
.子程序 替換_按行, 文本型
.參數 文本, 文本型
.局部變量 s, 文本型, , "0"
.局部變量 f, 文本型, , "0"
.局部變量 i
s = 分割文本 (文本, #換行符, )
文本 = “”
.計次循環首 (取數組成員數 (s), i)
s [i] = 刪首尾空 (s [i])
.判斷開始 (取文本左邊 (s [i], 6) = “float ”)
f = 分割文本 (s [i], “float ”, )
文本 = “.局部變量 ” + 文本_按前兩標識取中 (s [i], “float ”, “=”) + “,小數型” + #換行符 + 文本 + f [2] + #換行符
.判斷 (尋找文本 (s [i], “*=”, , 假) ≠ -1)
f = 分割文本 (s [i], “*=”, )
文本 = 文本 + f [1] + “= ” + f [1] + “*” + f [2] + #換行符
.判斷 (尋找文本 (s [i], “/=”, , 假) ≠ -1)
f = 分割文本 (s [i], “/=”, )
文本 = 文本 + f [1] + “= ” + f [1] + “/” + f [2] + #換行符
.判斷 (尋找文本 (s [i], “+=”, , 假) ≠ -1)
f = 分割文本 (s [i], “+=”, )
文本 = 文本 + f [1] + “= ” + f [1] + “+” + f [2] + #換行符
.判斷 (尋找文本 (s [i], “-=”, , 假) ≠ -1)
f = 分割文本 (s [i], “-=”, )
文本 = 文本 + f [1] + “= ” + f [1] + “-” + f [2] + #換行符
.判斷 (取文本右邊 (s [i], 2) = “++”)
f = 分割文本 (s [i], “++”, )
文本 = 文本 + f [1] + “= ” + f [1] + “+1” + #換行符
.判斷 (取文本右邊 (s [i], 2) = “--”)
f = 分割文本 (s [i], “--”, )
文本 = 文本 + f [1] + “= ” + f [1] + “-1” + #換行符
.默認
文本 = 文本 + s [i] + #換行符
.判斷結束
.計次循環尾 ()
返回 (文本)
.子程序 替換_函數, 文本型
.參數 代碼, 文本型
.局部變量 i
.局部變量 原, 文本型, , "0"
.局部變量 到, 文本型, , "0"
k2.置文本 (代碼)
原 = { “/”, “*”, “sqrtf”, “cosf”, “sinf” }
到 = { “÷”, “×”, “求平方根”, “求余弦”, “求正弦 ” }
.計次循環首 (取數組成員數 (原), i)
k2.替換子文本 (原 [i], 到 [i], , , 假)
.計次循環尾 ()
返回 (k2.取文本 (, ))
.子程序 _轉換鈕_被單擊
.局部變量 s, 文本型
d2.內容 = 替換_程序命名 (文本_按標識取左 (d1.內容, “{”))
s = 文本_按兩邊標識取中 (d1.內容, “{”, “}”)
s = 替換_注釋 (s)
s = 替換_索引數字累加 (s)
s = 子文本替換 (s, #換行符, “”, , , 真)
s = 子文本替換 (s, “;”, #換行符, , , 真)
s = 替換_按行 (s)
s = 替換_函數 (s)
d2.內容 = d2.內容 + s
.子程序 文本_最右標識取左, 文本型, 公開
.參數 文本, 文本型
.參數 最右標識, 文本型
返回 (取文本左邊 (文本, 倒找文本 (文本, 最右標識, , 假) - 1))
.子程序 文本_按標識取左, 文本型, 公開
.參數 文本, 文本型
.參數 標識, 文本型
返回 (取文本左邊 (文本, 尋找文本 (文本, 標識, , 假)))
.子程序 文本_按前兩標識取中, 文本型, 公開
.參數 文本, 文本型
.參數 標識_左, 文本型
.參數 標識_右, 文本型
.局部變量 i
.局部變量 r, 快速文本對象
r.置文本 (文本)
i = r.尋找文本 (標識_左, , 假)
.如果真 (i = -1)
返回 (文本)
.如果真結束
i = i + 取文本長度 (標識_左)
返回 (r.取文本 (i, r.尋找文本 (標識_右, i, 假) - i))
.子程序 文本_按兩邊標識取中, 文本型, 公開
.參數 文本, 文本型
.參數 標識_左, 文本型
.參數 標識_右, 文本型
.局部變量 i
.局部變量 r, 快速文本對象
r.置文本 (文本)
i = r.尋找文本 (標識_左, , 假)
.如果真 (i = -1)
返回 (文本)
.如果真結束
i = i + 取文本長度 (標識_左)
返回 (r.取文本 (i, r.倒找文本 (標識_右, , 假) - i))運行結果:

以上是“易語言怎么通過文本解析的方式把C代碼轉換成易代碼”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注創新互聯行業資訊頻道!
當前標題:易語言怎么通過文本解析的方式把C代碼轉換成易代碼
本文來源:http://www.yijiale78.com/article32/pcppsc.html
成都網站建設公司_創新互聯,為您提供、網站制作、網站改版、營銷型網站建設、網站策劃、建站公司
聲明:本網站發布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創新互聯