国产精品天干天干,亚洲毛片在线,日韩gay小鲜肉啪啪18禁,女同Gay自慰喷水

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

「Felys」簡易腳本語言【簡介】

2023-08-03 01:01 作者:銀河貓貓俠  | 我要投稿

【制作初衷】

在自學了C語言一段時間之后,很迫切地想把學到的理論應(yīng)用起來,卻苦于沒有合適的項目去玩,后來偶然看到了一個博主講解cpython源代碼的時候,我就琢磨著要不寫個簡易的解釋器玩玩。畢業(yè)暑假開始時查了一點資料,了解到了一種叫逆波蘭表達式的東西,決定以此為基礎(chǔ)開始構(gòu)思,并在稍作休息一周之后寫下了第一行代碼。

逆波蘭解析結(jié)果示例

在寫代碼的時候即會考慮添加一些新的功能也不得不舍棄一些難以支持的,在不斷的試錯和均衡之下創(chuàng)造出了Felys。即使這和正真的編程語言是完全兩回事,但依然是一次非常有趣辛苦的實踐。順便提一嘴名字的由來,因為我非常喜歡崩三的帕朵和愛莉,所以把她們名字合并了一下(Pardofelis & Elysia)得到了Felys這個簡單但有特點的名字。

因為架構(gòu)不理想推翻過兩個大版本


【設(shè)計目標】

因為我沒有系統(tǒng)地學過編譯器(解釋器)和C語言,所以一切從簡,最低限度的實現(xiàn)必要的功能。數(shù)據(jù)類型只有雙浮點型,表達式可以支持基礎(chǔ)的四則運算和比較符,邏輯方面則支持循環(huán)、判斷、跳行,這里不涉及字符/列表/函數(shù)/對象等概念。


Felys語言語法示例


【核心邏輯】

整個解釋器一共分為兩個部分:解析和運算。解析部分會讀取源文件,并且以鏈表的形式存儲,鏈表的每一條包括六個數(shù)據(jù):行號、作用域、關(guān)鍵字、表達式、下一行、跳行,并且會將其中關(guān)鍵字所內(nèi)涵的邏輯全部解析出來(聽起來有點抽象,之后會具體介紹)。運算則會根據(jù)將已經(jīng)解析完成的鏈表,一步一步往下運行直到鏈表盡頭,原理大致為讀取關(guān)鍵字,使用逆波蘭算法計算表達式,根據(jù)關(guān)鍵字和表達式結(jié)果決定是執(zhí)行下一行還是跳行到其他地方去。

「Felys」簡易腳本語言【簡介】的評論 (共 條)

分享到微博請遵守國家法律
嫩江县| 凤城市| 江油市| 德安县| 怀远县| 溧阳市| 正镶白旗| 报价| 德兴市| 睢宁县| 嵊泗县| 宁河县| 万山特区| 罗江县| 宁德市| 望都县| 仁布县| 祁连县| 内江市| 焉耆| 佛山市| 青阳县| 玉树县| 上饶市| 大悟县| 山西省| 遂溪县| 南和县| 博客| 康保县| 灌阳县| 房产| 正蓝旗| 黔南| 中宁县| 洛浦县| 黑龙江省| 武陟县| 彭州市| 宁都县| 垫江县|