Hellmo
所属分类:编程语言基础
开发工具:C#
文件大小:0KB
下载次数:0
上传日期:2022-10-22 19:54:04
上 传 者:
sh-1993
说明: 一种为娱乐而生的十六进制语言。
(A hex language made for fun.)
文件列表:
.vscode/ (0, 2022-10-22)
.vscode/launch.json (452, 2022-10-22)
.vscode/tasks.json (1168, 2022-10-22)
Examples/ (0, 2022-10-22)
Examples/FunctionArgsTwo.hm (168, 2022-10-22)
Examples/pointer.hm (722, 2022-10-22)
Hellmo.csproj (351, 2022-10-22)
Program.cs (1168, 2022-10-22)
TO DO.txt (88, 2022-10-22)
a.hm (149, 2022-10-22)
checkArgs.cs (0, 2022-10-22)
config.json (58, 2022-10-22)
image.webp (17112, 2022-10-22)
obj/ (0, 2022-10-22)
obj/Debug/ (0, 2022-10-22)
obj/Debug/net6.0/ (0, 2022-10-22)
obj/Debug/net6.0/apphost.exe (147968, 2022-10-22)
obj/project.assets.json (3270, 2022-10-22)
obj/project.nuget.cache (460, 2022-10-22)
src/ (0, 2022-10-22)
src/Data/ (0, 2022-10-22)
src/Data/Functions.cs (567, 2022-10-22)
src/Lexer/ (0, 2022-10-22)
src/Lexer/Lexer.cs (9955, 2022-10-22)
src/Lexer/Tokens.cs (1005, 2022-10-22)
src/Parser/ (0, 2022-10-22)
src/Parser/Data.cs (7578, 2022-10-22)
src/Parser/Error.cs (721, 2022-10-22)
src/Parser/Mem/ (0, 2022-10-22)
src/Parser/Mem/Data.json (0, 2022-10-22)
src/Parser/Parser.cs (15407, 2022-10-22)
src/Utils/ (0, 2022-10-22)
src/Utils/Bin.cs (125, 2022-10-22)
src/Utils/Hex.cs (3141, 2022-10-22)
src/Utils/Terminal.cs (13, 2022-10-22)
src/Utils/Utils.cs (1555, 2022-10-22)
test.hm (126, 2022-10-22)
... ...
# Hellmo
Elmo welcomes you to hell!
This is a low-to-high-end languge, designed to be flexible.
Much like America, we like to save keystrokes by unnecessarily removing all important things like `+`. And instead of typing `System.Console.WriteLine("Hello World!");`, you have `0x08 "Hello World!"`
Geting use to this may be hard. But once you get the hang of it, it might get easy to use (depending on who you ask).
### Support
Due to the fact that this is a prototype, this project is written in C#, developedd with .Net 6 (soon to be updated with .Net 7 on November 2022), All of the Desktop Operating Systems (and other OSs that have .Net Support) are supported automatically (compilation script coming soon).
- [x] Linux
- [x] Windows
- [x] MacOS
### Documentation
`0x00` return
`0x01` mov up
`0x02` mov down
`0x03` In current script, Jump to this instruction
`0x04` In stack, Jump to this address
`0x05` increment current address by 1
`0x06` decrement current address by 1
`0x07` Set this address to this value
`0x08` Print (To be further developped)
`0x09` if statement
`0x0A`
`0x0B` Exit
(Default hex value/argument: 0x00 (0))
`0x0C`
`0x0D`
`0x0E`
`0x0F` Make a function with the id of `` with arguments of `[ ..., ... ]`
#### If statement
If the if statement is true, it will jump to the targeted adddress (in this case, if (Address 13 is equal to 14, jump to address 15)).
Otherwise, it will skip 3 addresses (in the example below, right after `0xF`)
`0x05 0xD 0x0E 0xF`:
"If" "this addr" "is this value" "Jump to this point"
0x05 0xD 0xE 0xF
if [13] [14] [15]
#### Jump to and alter address
This feature was made so you dont have to keep spamming `0x05` or `0x06` contstantly, flooding the device with instructions, making it slow and highly inefficient.
__For instance:__
```
0x08 "[Hello World!]"
0x08 "This is a print test script!"
0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05
0x01
0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05 0x05
0x08 stack
0x00
```
Instead, you have:
```
0x08 "[Hello World!]"
0x08 "This is a print test script!"
0x07 0x00 0xA
0x01
0x07 0x01 0x18
0x08 stack
0x00
```
Do note that this is a prototype of the C++ version (which is the actual version) of this project/repo. The actual version will come out at its initial release
近期下载者:
相关文件:
收藏者: