RM新时代网站-首页

電子發(fā)燒友App

硬聲App

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

完善資料讓更多小伙伴認識你,還能領(lǐ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積分

資料介紹

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

軟件簡介

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

Features(特性)

  1. 詞法分析階段。Lexer which generates NFA and DFA.
  2. 語法分析、詞法分析、制導(dǎo)翻譯。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本地方法導(dǎo)入。Native method.
  7. 代碼頁導(dǎo)入/導(dǎo)出。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)絡(luò)流。Socket stream.
  19. 虛擬文件系統(tǒng)。Save/Load file or VFS.
  20. 基于原型的類設(shè)計。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)頁服務(wù)器。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:(微服務(wù))

  • 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)絡(luò),包括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ù)結(jié)構(gòu):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中文應(yīng)用手冊
  16. 1.09 MB  |  178次下載  |  免費

本月

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