最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(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」簡易腳本語言【簡介】的評論 (共 條)

分享到微博請遵守國家法律
新邵县| 泗水县| 晴隆县| 金塔县| 葵青区| 格尔木市| 拜城县| 霍城县| 墨脱县| 兴仁县| 四子王旗| 滨州市| 扶余县| 若羌县| 仁寿县| 鄢陵县| 灌南县| 河北区| 广宁县| 呼伦贝尔市| 佛山市| 上虞市| 铜鼓县| 东平县| 平塘县| 河南省| 延安市| 阿荣旗| 淅川县| 武鸣县| 德惠市| 西峡县| 芦山县| 迁安市| 杭州市| 普格县| 新闻| 麦盖提县| 广东省| 凉城县| 江津市|