那曲檬骨新材料有限公司

電子發(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次下載  |  免費
百家乐官网赌博策略大全| 大发888下载安全的| 峡江县| 罗马百家乐娱乐城| 香港六合彩开奖记录| 网上百家乐娱乐场| 足球走地| 职业赌百家乐技巧| 百家乐官网游戏怎么刷钱| 博狗百家乐官网的玩法技巧和规则| 大发888娱乐场下载com| 电玩百家乐官网游戏机路单| 大发888提款速度快吗| 百家乐赌的技巧| 百家乐官网如何必胜| 新锦江百家乐娱乐场开户注册 | 汇丰百家乐娱乐城| 澳门百家乐官网游戏玩法| 新丰县| 北京太阳城老年公寓| 百家乐庄家的胜率| 网上玩百家乐官网的玩法技巧和规则 | 皇冠网遮天小说| 百家乐发牌靴发牌盒| 百家乐官网真人荷官网| 瑞博| 百家乐看| 百家乐那个平台信誉高| 网上百家乐官网是现场吗| 百家乐官网网址是多少| 大连娱网棋牌打滚子| 百家乐直揽经验| 澳门百家乐官网网上娱乐场开户注册 | 百家乐长庄投注| 百家乐视频游戏官网| 百家乐官网注册优惠平台| 通道| bet365ok| 威尼斯人娱乐城平台打不开| 百家乐的注码技巧| 百家乐官网平注法亏损|