<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>

電子發燒友App

硬聲App

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

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

3天內不再提示
電子發燒友網>電子資料下載>電子資料>jMiniLang Kotlin實現的編譯器和虛擬機

jMiniLang Kotlin實現的編譯器和虛擬機

2022-06-10 | zip | 5.19 MB | 次下載 | 免費

資料介紹

授權協議 MIT
開發語言 Kotlin
操作系統 跨平臺
軟件類型 開源軟件
所屬分類 開發工具、 編譯器

軟件簡介

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

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. 匿名函數及閉包。Lambda functions and Closure.
  10. 語法/詞法錯誤提示。Display grammar and semantic errors.
  11. 管道機制。Pipe.
  12. 多進程機制。Multiple process.
  13. 同步/異步執行代碼。Load file with Sync/Async.
  14. 虛擬機。Virtual machine.
  15. 支持彩色界面。Support Colorful GUI.
  16. 函數式編程。Functional programming.
  17. LISP.
  18. 網絡流。Socket stream.
  19. 虛擬文件系統。Save/Load file or VFS.
  20. 基于原型的類設計。Class prototype.
  21. Bash Interface.
  22. 數組/詞典初始化。Array/Map initialize list.
  23. 異常機制。Try/Catch/Throw.
  24. 行為樹。Behavior Tree, including PC network simulator.
  25. 用戶級進程。RING 3 Process, including User Service, fork.
  26. 網頁服務器。Web Server, including Online Compiler and Runner.
  27. C語言解析。CParser class on ModuleUser.

What it generates(產生)

  • 正則表達式、狀態機。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.
  • 運行時環境。Runtime environment.

Virtual Machine OS

An OS running on jMiniLang compiler and interpreter.

Now has commands:(現在主窗口支持的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:執行代碼
  • exec_file:讀文件執行代碼
  • kill:中止用戶進程
  • info:取得用戶進程狀態(用于瀏覽器遠程回調)

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

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

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

  • JSON格式化:fastjson
  • 實現遠程命令SSH:netty
  • 后端及API:spring-boot
  • 網頁模版:thymeleaf
  • 前端交互:vue
  • 前端樣式:layui
  • Markdown文檔轉換:flexmark
  • 數據結構: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數據手冊
  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開發指南
  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數字電路基礎pdf(下載)
  12. 未知  |  13750次下載  |  免費
  13. 7電子制作實例集錦 下載
  14. 未知  |  8113次下載  |  免費
  15. 8《LED驅動電路設計》 溫德爾著
  16. 0.00 MB  |  6656次下載  |  免費

總榜

  1. 1matlab軟件下載入口
  2. 未知  |  935054次下載  |  免費
  3. 2protel99se軟件下載(可英文版轉中文版)
  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次下載  |  免費
亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>