資料介紹
軟件簡(jiǎn)介
jMiniLang 項(xiàng)目是一個(gè) LR 編譯器、虛擬機(jī)一體化工程,并且對(duì)虛擬機(jī)進(jìn)行了拓展,參考了操作系統(tǒng)設(shè)計(jì)的思想。
Features(特性)
- 詞法分析階段。Lexer which generates NFA and DFA.
- 語(yǔ)法分析、詞法分析、制導(dǎo)翻譯。Parser which implements LALR(1) Grammar with optional semantic action.
- 語(yǔ)義分析。Customized semantic analysis.
- 可打印語(yǔ)法樹。Printable syntax tree.
- 基于棧的自定義指令集。Stack-based instruction design.
- Kotlin本地方法導(dǎo)入。Native method.
- 代碼頁(yè)導(dǎo)入/導(dǎo)出。Import and export of code page.
- 代碼頁(yè)序列化。Serializable code page.
- 匿名函數(shù)及閉包。Lambda functions and Closure.
- 語(yǔ)法/詞法錯(cuò)誤提示。Display grammar and semantic errors.
- 管道機(jī)制。Pipe.
- 多進(jìn)程機(jī)制。Multiple process.
- 同步/異步執(zhí)行代碼。Load file with Sync/Async.
- 虛擬機(jī)。Virtual machine.
- 支持彩色界面。Support Colorful GUI.
- 函數(shù)式編程。Functional programming.
- LISP.
- 網(wǎng)絡(luò)流。Socket stream.
- 虛擬文件系統(tǒng)。Save/Load file or VFS.
- 基于原型的類設(shè)計(jì)。Class prototype.
- Bash Interface.
- 數(shù)組/詞典初始化。Array/Map initialize list.
- 異常機(jī)制。Try/Catch/Throw.
- 行為樹。Behavior Tree, including PC network simulator.
-
用戶級(jí)進(jìn)程。RING 3 Process, including User Service,
fork
. - 網(wǎng)頁(yè)服務(wù)器。Web Server, including Online Compiler and Runner.
-
C語(yǔ)言解析。CParser class on
ModuleUser
.
What it generates(產(chǎn)生)
- 正則表達(dá)式、狀態(tài)機(jī)。Structures of Regex, NFA and DFA Table.
- 分析表。Structures of LL/LR Table.
- 語(yǔ)義分析指令。Structures of semantic instructions.
- 語(yǔ)法樹。Structures of syntax tree.
- 代碼頁(yè)。Structures of code page.
- 虛擬機(jī)指令。Virtual machine instructions.
- 運(yùn)行時(shí)環(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:(測(cè)試命令,直接在主窗口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:(遠(yuǎn)程控制)
-
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)
orfrom(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:中止用戶進(jìn)程
- info:取得用戶進(jìn)程狀態(tài)(用于瀏覽器遠(yuǎn)程回調(diào))
USER HANDLE:(用戶級(jí)進(jìn)程支持的句柄種類)
- pipe:管道,類似Go中的chan,用于跨進(jìn)程同步,讀阻塞,寫不阻塞。
- share:共享,同步跨進(jìn)程數(shù)據(jù)共享。
- file:文件,虛擬文件接口,同步操作。
- window:窗口,創(chuàng)建JFrame窗口,異步,包括繪制、消息。
- net:網(wǎng)絡(luò),包括HTTP請(qǐng)求,OkHttp實(shí)現(xiàn),異步。
Dependencies:(使用的開源庫(kù),下面為部分)
- JSON格式化:fastjson
- 實(shí)現(xiàn)遠(yuǎn)程命令SSH:netty
- 后端及API:spring-boot
- 網(wǎng)頁(yè)模版:thymeleaf
- 前端交互:vue
- 前端樣式:layui
- Markdown文檔轉(zhuǎn)換:flexmark
- 數(shù)據(jù)結(jié)構(gòu):guava
- HTTP請(qǐng)求:okhttp
- JAR打包:shadow
Manual
Example
Web Server
- Spring Boot API, port 8080
- Java NIO, port 8088
- Render Markdown using FlexMark
Front-end: LayUI(前端)
1. Spring Boot API
Front-end: LayUI + Vue.js API: Json + RestControllerBack-end: jMiniLang API Handler (RING 3 Process)
Run on Server
** Online Compiler Example V: GUI User Window **
- 虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn):C\C++ 0次下載
- 基于GCC實(shí)現(xiàn)支持MISRAC的安全編譯器
- 基于任務(wù)映射的云數(shù)據(jù)中心虛擬機(jī)選擇策略 17次下載
- CompCert編譯器目標(biāo)代碼生成機(jī)制研究綜述 4次下載
- 使用C30編譯器實(shí)現(xiàn)單片機(jī)與片外串行SRAM的通信 12次下載
- 華為方舟編譯器使用指南 1次下載
- Java虛擬機(jī)參數(shù)調(diào)優(yōu) 1次下載
- 基于虛擬機(jī)負(fù)載高峰特征的虛擬機(jī)放置策略 0次下載
- 基于虛擬機(jī)技術(shù)的DSC仿真系統(tǒng)設(shè)計(jì)
- 虛擬機(jī)及虛擬化技術(shù)
- 多線程ARM虛擬機(jī)的設(shè)計(jì)與實(shí)現(xiàn)
- 微軟java虛擬機(jī)下載
- PIC單片機(jī)的C編譯器(軟件)
- Java虛擬機(jī)向ARM平臺(tái)的移植
- Java虛擬機(jī)向ARM平臺(tái)的移植
- 什么是虛擬機(jī)?什么是虛擬化? 219次閱讀
- 什么是虛擬機(jī)?虛擬機(jī)真的那么好用嗎? 463次閱讀
- 什么是虛擬機(jī)?使用C代碼實(shí)現(xiàn)一個(gè)虛擬機(jī) 1160次閱讀
- 從Java入手如何了解虛擬機(jī)(VM) 812次閱讀
- KVM虛擬機(jī)管理和基本使用 1090次閱讀
- 領(lǐng)域編譯器發(fā)展的前世今生 1473次閱讀
- 一文帶你了解虛擬機(jī) 2644次閱讀
- 交叉編譯器安裝教程 3273次閱讀
- 虛擬機(jī):Hadoop集群的配置 2689次閱讀
- 虛擬機(jī):Ubuntu的基本配置 2990次閱讀
- 虛擬機(jī):編譯器對(duì)C函數(shù)的名字修飾 2469次閱讀
- 虛擬機(jī):Ubuntu的Thinkpad電池設(shè)置 2427次閱讀
- 虛擬機(jī):QEMU虛擬機(jī)和主機(jī)無(wú)線網(wǎng)絡(luò)通訊設(shè)置 5280次閱讀
- 如何選擇PIC單片機(jī)的C編譯器 5245次閱讀
- 編譯器是如何工作的_編譯器的工作過(guò)程詳解 1.5w次閱讀
下載排行
本周
- 1山景DSP芯片AP8248A2數(shù)據(jù)手冊(cè)
- 1.06 MB | 532次下載 | 免費(fèi)
- 2RK3399完整板原理圖(支持平板,盒子VR)
- 3.28 MB | 339次下載 | 免費(fèi)
- 3TC358743XBG評(píng)估板參考手冊(cè)
- 1.36 MB | 330次下載 | 免費(fèi)
- 4DFM軟件使用教程
- 0.84 MB | 295次下載 | 免費(fèi)
- 5元宇宙深度解析—未來(lái)的未來(lái)-風(fēng)口還是泡沫
- 6.40 MB | 227次下載 | 免費(fèi)
- 6迪文DGUS開發(fā)指南
- 31.67 MB | 194次下載 | 免費(fèi)
- 7元宇宙底層硬件系列報(bào)告
- 13.42 MB | 182次下載 | 免費(fèi)
- 8FP5207XR-G1中文應(yīng)用手冊(cè)
- 1.09 MB | 178次下載 | 免費(fèi)
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 2555集成電路應(yīng)用800例(新編版)
- 0.00 MB | 33566次下載 | 免費(fèi)
- 3接口電路圖大全
- 未知 | 30323次下載 | 免費(fèi)
- 4開關(guān)電源設(shè)計(jì)實(shí)例指南
- 未知 | 21549次下載 | 免費(fèi)
- 5電氣工程師手冊(cè)免費(fèi)下載(新編第二版pdf電子書)
- 0.00 MB | 15349次下載 | 免費(fèi)
- 6數(shù)字電路基礎(chǔ)pdf(下載)
- 未知 | 13750次下載 | 免費(fèi)
- 7電子制作實(shí)例集錦 下載
- 未知 | 8113次下載 | 免費(fèi)
- 8《LED驅(qū)動(dòng)電路設(shè)計(jì)》 溫德爾著
- 0.00 MB | 6656次下載 | 免費(fèi)
總榜
- 1matlab軟件下載入口
- 未知 | 935054次下載 | 免費(fèi)
- 2protel99se軟件下載(可英文版轉(zhuǎn)中文版)
- 78.1 MB | 537798次下載 | 免費(fèi)
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420027次下載 | 免費(fèi)
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234315次下載 | 免費(fèi)
- 5Altium DXP2002下載入口
- 未知 | 233046次下載 | 免費(fèi)
- 6電路仿真軟件multisim 10.0免費(fèi)下載
- 340992 | 191187次下載 | 免費(fèi)
- 7十天學(xué)會(huì)AVR單片機(jī)與C語(yǔ)言視頻教程 下載
- 158M | 183279次下載 | 免費(fèi)
- 8proe5.0野火版下載(中文版免費(fèi)下載)
- 未知 | 138040次下載 | 免費(fèi)
評(píng)論
查看更多