衡阳派盒市场营销有限公司

電子發(fā)燒友App

硬聲App

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示
創(chuàng)作
電子發(fā)燒友網(wǎng)>電子資料下載>電子資料>jMiniLang Kotlin實現(xiàn)的編譯器和虛擬機

jMiniLang Kotlin實現(xiàn)的編譯器和虛擬機

2022-06-10 | zip | 5.19 MB | 次下載 | 2積分

資料介紹

授權協(xié)議 MIT
開發(fā)語言 Kotlin
軟件類型 開源軟件
所屬分類 開發(fā)工具編譯器

軟件簡介

jMiniLang 項目是一個 LR 編譯器、虛擬機一體化工程,并且對虛擬機進行了拓展,參考了操作系統(tǒng)設計的思想。

Features(特性)

  1. 詞法分析階段。Lexer which generates NFA and DFA.
  2. 語法分析、詞法分析、制導翻譯。Parser which implements LALR(1) Grammar with optional semantic action.
  3. 語義分析。Customized semantic analysis.
  4. 可打印語法樹。Printable syntax tree.
  5. 基于棧的自定義指令集。Stack-based instruction design.
  6. Kotlin本地方法導入。Native method.
  7. 代碼頁導入/導出。Import and export of code page.
  8. 代碼頁序列化。Serializable code page.
  9. 匿名函數(shù)及閉包。Lambda functions and Closure.
  10. 語法/詞法錯誤提示。Display grammar and semantic errors.
  11. 管道機制。Pipe.
  12. 多進程機制。Multiple process.
  13. 同步/異步執(zhí)行代碼。Load file with Sync/Async.
  14. 虛擬機。Virtual machine.
  15. 支持彩色界面。Support Colorful GUI.
  16. 函數(shù)式編程Functional programming.
  17. LISP.
  18. 網(wǎng)絡流。Socket stream.
  19. 虛擬文件系統(tǒng)。Save/Load file or VFS.
  20. 基于原型的類設計。Class prototype.
  21. Bash Interface.
  22. 數(shù)組/詞典初始化。Array/Map initialize list.
  23. 異常機制。Try/Catch/Throw.
  24. 行為樹。Behavior Tree, including PC network simulator.
  25. 用戶級進程。RING 3 Process, including User Service, fork.
  26. 網(wǎng)頁服務器。Web Server, including Online Compiler and Runner.
  27. C語言解析。CParser class on ModuleUser.

What it generates(產(chǎn)生)

  • 正則表達式、狀態(tài)機。Structures of Regex, NFA and DFA Table.
  • 分析表。Structures of LL/LR Table.
  • 語義分析指令。Structures of semantic instructions.
  • 語法樹。Structures of syntax tree.
  • 代碼頁。Structures of code page.
  • 虛擬機指令。Virtual machine instructions.
  • 運行時環(huán)境。Runtime environment.

Virtual Machine OS

An OS running on jMiniLang compiler and interpreter.

Now has commands:(現(xiàn)在主窗口支持的cmd命令)

  • echo
  • dup
  • pipe
  • grep
  • proc
  • range
  • task
  • sleep
  • time
  • count
  • msg
  • news(refer: https://github.com/bajdcc/NewsApp)
  • bash
  • replace
  • util
  • ai
  • pc
  • music

Tasks:(使用方法如:@system halt

  • System
  • Utility
  • Remote
  • UI
  • Store
  • Proc

UI:(使用方法如:@ui on clock

  • Clock
  • Hitokoto
  • Monitor

Toggle UI:

  • task ui on/off clock
  • task ui on/off hitokoto
  • task ui on/off monitor

Implemented IPC, usage:(微服務)

  • task system now -> Get system time
  • task util calc 1+2*3 -> Val = 7
  • task ui print hello world -> Remote window
  • task ui path M 100 100 L 200 200 -> SVG

Utility:

  • task util doc g_func_fold -> Document
  • task util reverse ...
  • task util toupper ...
  • task util sum ...
  • task util product ...
  • task util palindrome ...

Tests:(測試命令,直接在主窗口cmd輸入,Ctrl-C中止)

  • test philo/philo2: Multi-processing and synchronization
  • test lisp: LISP language
  • test font: Support Chinese Language(wide font)
  • test fork: Test fork
  • test class: Test AOP and Prototype for class
  • test bash: Test bash interface
  • test try: Test try/catch
  • test badapple: Test ascii output, code in BadApple
  • test dialog: Test JOptionPane.showXXXDialog
  • test linq: Test LINQ
  • test proc: Test Ring 3 API
  • test proc2: Test Ring 3 code with input
  • test web: HTTP Web Server

Implemented MSG, usage:(遠程控制)

  • Create server: msg server PORT | filter pipe
  • Create client: other pipe | msg connect IP:PORT

PC command:

  • pc add A 10 10 100 100
  • pc remove A
  • pc msg A B

LINQ:

  • from(list) or from(array)
  • range(begin, end)
  • Function: select, where, first, last, max, sum, for_each, group_by, distinct, union, etc.

TASK PROC:

  • exec:執(zhí)行代碼
  • exec_file:讀文件執(zhí)行代碼
  • kill:中止用戶進程
  • info:取得用戶進程狀態(tài)(用于瀏覽器遠程回調(diào))

USER HANDLE:(用戶級進程支持的句柄種類)

  • pipe:管道,類似Go中的chan,用于跨進程同步,讀阻塞,寫不阻塞。
  • share:共享,同步跨進程數(shù)據(jù)共享。
  • file:文件,虛擬文件接口,同步操作。
  • window:窗口,創(chuàng)建JFrame窗口,異步,包括繪制、消息。
  • net:網(wǎng)絡,包括HTTP請求,OkHttp實現(xiàn),異步。

Dependencies:(使用的開源庫,下面為部分)

  • JSON格式化:fastjson
  • 實現(xiàn)遠程命令SSH:netty
  • 后端及API:spring-boot
  • 網(wǎng)頁模版:thymeleaf
  • 前端交互:vue
  • 前端樣式:layui
  • Markdown文檔轉(zhuǎn)換:flexmark
  • 數(shù)據(jù)結構:guava
  • HTTP請求:okhttp
  • JAR打包:shadow

Manual

Simplified Chinese Version

Example

Web Server

  1. Spring Boot API, port 8080
  2. Java NIO, port 8088
  3. Render Markdown using FlexMark

Front-end: LayUI(前端)

1. Spring Boot API

Front-end: LayUI + Vue.js API: Json + RestController

Back-end: jMiniLang API Handler (RING 3 Process)

Run on Server

** Online Compiler Example V: GUI User Window **

?

下載該資料的人也在下載 下載該資料的人還在閱讀
更多 >

評論

查看更多

下載排行

本周

  1. 1山景DSP芯片AP8248A2數(shù)據(jù)手冊
  2. 1.06 MB  |  532次下載  |  免費
  3. 2RK3399完整板原理圖(支持平板,盒子VR)
  4. 3.28 MB  |  339次下載  |  免費
  5. 3TC358743XBG評估板參考手冊
  6. 1.36 MB  |  330次下載  |  免費
  7. 4DFM軟件使用教程
  8. 0.84 MB  |  295次下載  |  免費
  9. 5元宇宙深度解析—未來的未來-風口還是泡沫
  10. 6.40 MB  |  227次下載  |  免費
  11. 6迪文DGUS開發(fā)指南
  12. 31.67 MB  |  194次下載  |  免費
  13. 7元宇宙底層硬件系列報告
  14. 13.42 MB  |  182次下載  |  免費
  15. 8FP5207XR-G1中文應用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

  1. 1OrCAD10.5下載OrCAD10.5中文版軟件
  2. 0.00 MB  |  234315次下載  |  免費
  3. 2555集成電路應用800例(新編版)
  4. 0.00 MB  |  33566次下載  |  免費
  5. 3接口電路圖大全
  6. 未知  |  30323次下載  |  免費
  7. 4開關電源設計實例指南
  8. 未知  |  21549次下載  |  免費
  9. 5電氣工程師手冊免費下載(新編第二版pdf電子書)
  10. 0.00 MB  |  15349次下載  |  免費
  11. 6數(shù)字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅(qū)動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
  4. 78.1 MB  |  537798次下載  |  免費
  5. 3MATLAB 7.1 下載 (含軟件介紹)
  6. 未知  |  420027次下載  |  免費
  7. 4OrCAD10.5下載OrCAD10.5中文版軟件
  8. 0.00 MB  |  234315次下載  |  免費
  9. 5Altium DXP2002下載入口
  10. 未知  |  233046次下載  |  免費
  11. 6電路仿真軟件multisim 10.0免費下載
  12. 340992  |  191187次下載  |  免費
  13. 7十天學會AVR單片機與C語言視頻教程 下載
  14. 158M  |  183279次下載  |  免費
  15. 8proe5.0野火版下載(中文版免費下載)
  16. 未知  |  138040次下載  |  免費
忻城县| 澳门百家乐官网怎么才能赢钱| 网络百家乐程序| 瑞丰娱乐| 沙龙百家乐官网代理| 菠菜百家乐官网娱乐城| 百家乐荷官培训| 百家乐官网与21点| 大发888娱乐城888 bg| 至尊百家乐吕文婉| 老人头百家乐官网的玩法技巧和规则 | 网络百家乐官网投注| 足球博彩| 最新博彩论坛| 大发888大发8668| 金沙百家乐的玩法技巧和规则 | 百家乐交流群号| 百家乐官网二路珠无敌稳赢打法| 滨海县| 错那县| 云顶娱乐| 顶尖百家乐的玩法技巧和规则 | 广州百家乐赌场娱乐网规则 | 百家乐预约| 高级百家乐出千工具| 百家乐官网视| 永利高百家乐官网网址| 凯斯娱乐城| 六合彩特码| 百家乐打印机破解| 天堂鸟百家乐的玩法技巧和规则| 金赞百家乐现金网| 百家乐百家乐群| 百家乐官网是真人发牌吗| 百家乐官网平注秘籍| 优博百家乐官网的玩法技巧和规则| 凱旋门百家乐官网的玩法技巧和规则 | 百家乐官网跟路技巧| 百家乐官网园云鼎娱乐平台| 百家乐怎样投注好| 百家乐算点子打法攻略|