線上服務(wù)咨詢
Article/文章
記錄成長點滴 分享您我感悟
您當(dāng)前位置>首頁 > 知識 > 網(wǎng)站建設(shè)
談?wù)勱P(guān)于php
發(fā)表時間:2019-07-30 16:35:20
文章來源:沈陽軟件開發(fā)
標(biāo)簽:網(wǎng)站建設(shè) 小程序開發(fā) 小程序制作 微信小程序開發(fā) 公眾號開發(fā) 微信公眾號開發(fā) 網(wǎng)頁設(shè)計 網(wǎng)站優(yōu)化 網(wǎng)站排名 網(wǎng)站設(shè)計 微信小程序設(shè)計 小程序定制 微信小程序定制
瀏覽次數(shù):0
的那些事情 許多人對他們每天使用的編程語言感到困惑和困惑。他們都有自己的需求。無論您是專業(yè)IT人員還是普通開發(fā)愛好者,您都可能希望創(chuàng)建一種新的編程語言。以下是如何創(chuàng)建編程語言。
Step?1?對專業(yè)術(shù)語十分熟悉
編寫編譯器的人經(jīng)常使用您不熟悉的術(shù)語,因此您必須在開發(fā)之前了解編譯器,以確保您知道編譯的所有內(nèi)容。
Step?2?確定這門語言的應(yīng)用領(lǐng)域
您是否想知道您的語言是否用于解決特定領(lǐng)域或通用語言中的問題?
Step?3?思考這門語言的語義和概念
(1)允許直接指針訪問? (2)該語言提供哪些數(shù)據(jù)類型? (3)這是靜態(tài)語言還是動態(tài)語言?
(4)使用什么內(nèi)存模型?是否有自動垃圾收集機制或者您是否需要手動管理內(nèi)存?
(5)如何處理并發(fā)?你打算使用單進程/鎖模型,還是像Linda或actor模型一樣復(fù)雜? (6)語言是否提供了一些簡單的嵌入式函數(shù),或者所有內(nèi)容都來自類/函數(shù)庫? (7)這種語言的范式是什么?它是功能性的,面向?qū)ο蟮模嫦蚍矫娴?,模板化的還是原型的,還是全新的?
(8)該語言與現(xiàn)有庫或函數(shù)之間的接口是什么?如果要創(chuàng)建特定于域的語言,這一點尤為重要。 (9)最后,如果你想對一些問題有一些好的答案,你需要先做第二步。
Step?4?思考人們想用這門語言做的事情例如,有些人想用它來指導(dǎo)機器人,有些人想用它來開發(fā)移動桌面程序或用它來開發(fā)網(wǎng)絡(luò)應(yīng)用程序。Step?5?利用上面的例子測試語法請注意,您的語言應(yīng)該是與上下文無關(guān)的或其子類別,這對您和您的解析器以后會有好處。Step?6?寫出正式的語法規(guī)則Step?7?確定這是一門解釋型語言還是編譯型語言這意味著如果這是一種解釋型語言,您的用戶通常會在編輯器中編寫程序并直接在解釋器中運行它。但對于編譯語言,您的用戶將編寫代碼,編譯,然后將可執(zhí)行文件保存到另一個位置并單獨運行。Step?8?寫好語法分析器或借助工具幫助你想想如果用戶的程序有語法錯誤,你的編譯器或解釋器會給出什么樣的警告?Step?9?使用語法分析器信息寫目標(biāo)代碼Step?10?寫好執(zhí)行程序或代碼生成器Step?11?寫出足夠多的測試程序來檢測這門語言您想要創(chuàng)建一個正式語言,并且其編譯器可以明確接受定義范圍內(nèi)的所有內(nèi)容,并拒絕除此之外的所有內(nèi)容。Step?12?考慮用戶如何調(diào)試自己的程序Step?13?如果你的語言使用標(biāo)準(zhǔn)類庫,你要寫好它特別是,如果編寫編譯器,則需要一段操作系統(tǒng)執(zhí)行的代碼才能開始運行用戶程序。Step?14?發(fā)布這門語言的同時加上它的說明書和一些附屬例子不要忘記展示如何集成這些庫和語言,如何使用運行時功能和標(biāo)準(zhǔn)類庫。
網(wǎng)站建設(shè),小程序開發(fā),小程序制作,微信小程序開發(fā),公眾號開發(fā),微信公眾號開發(fā),網(wǎng)頁設(shè)計,網(wǎng)站優(yōu)化,網(wǎng)站排名,網(wǎng)站設(shè)計,微信小程序設(shè)計,小程序定制,微信小程序定制