Skip to content

pradosh-arduino/Melon-Language

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ˜‰ Simple, πŸ’Ύ High & Low Level, πŸ‘¨β€πŸ’» PPL

Melon is a simple, both high and low level, procedural programming language (PPL) with a interpreter

downloads discord commit totat_pkg wakatime

Melon extensions for vscode

e e

use these to have a better environment while coding in Melon

Console

Click to expand console commands
Commands Info Syntax
> move the cursor right by 1 >
< move the cursor left by 1 <
+ add the Address that is selected in cursor +
- subtract the Address that is selected in cursor -
; print the Array in the screen ;
compile compile the arrays/addresses into a executable file compile
compile-script compile the melon language file to melon language executable compile-script
clear clears the screen clear
reset resets all address reset
run runs the script run
cta prints the addresses in text format cta
write writes a custom value into address write \n
copy copy the address to the cursor position copy \n
if (UNFINISHED) check if the address is <your_value> or not
calc do math calc \n
var save a variable var \n <var_name>
change-var change variable value change-var \n <var_name>
delete-var Remove a variable delete-var \n <val_name>
delete-all-vars Remove All variables delete-all-vars
lock-var lock a variable lock-var \n <name_>
importl Import build in libraries importl \n <library_name>
load-pkg loads a package load-pkg \n <name_>
gen-pkg generates a package with main.mlf gen-pkg
fetch-pkg downloads a pkg from Citrullus Server fetch-pkg \n <name_>
time shows time it even has like time.month to show current month or time.day or time.week etc time
quit/exit closes melon quit (OR) exit

Graphics

Commands Info Syntax
println prints a text then goes to a new line println \n "<text>"
printf prints a text printf \n "<text>"
colour changes console colour colour \n <fg>,<bg>
set-cursor-pos sets cursor pos set-cursor-pos \n <x>,<y>

Script

Click to expand scripting commands
Commands Info Syntax
function creates a new function function \n end for calling: ~()
> move the cursor right by 1 >
< move the cursor left by 1 <
+ add the Address that is selected in cursor +
- subtract the Address that is selected in cursor -
; print the Array in the screen ;
clear clears the screen clear
reset resets all address reset
write writes a custom value into address
jump jumps to a line number
copy copy the address to a specific place
if check if the address is <your_value> or not
calc do math
write-var write a saved variable to a address that is selected by cursor position
convert text to address array
goto goto start to loop infinitly or goto end to end the script much like return in C#
sleep A thread based timer (Milliseconds)
importf Import other .mlf to your main.mlf
importl imports any built-in library
for for loops for i=1; i-10; i=+1 \n fo-end
quit quit the console with a error code

Graphics

Commands Info
println prints a text then goes to a new line
printf prints a text

⏳ Melon's Compiler

Melon's compiler is known as neogenic-x or melonnx, which is fast

πŸ“¦ Package System

Now melon has it's own package system called as Citrullus API, you can create your own packages too. Learn more at Package System Wiki

seperator

πŸ’» Setup

Arguments:

Arguments Comments
--output-path The output path of the compiled binary
--output-format The format of the compiled binary, currently supported are bin, hex, mle
--output-name The name of the compiled output
--program-path the path for your main.mlf
--logging Enable Logging
--splash-text Enable splash text
--updates Enable Update check
--clear-logs Clears logs when typing quit or exit
--run Runs a script without opening Melon
--compile Compiles a script without opening Melon
--new-project Created a new project for melon
--help Display this help screen.
--version Display version information.

You can use #this# to get the current directory (only for output path, program path and new project) eg. --output-path #this#

seperator

πŸ’½ Hardware

OS Version Hardware x64 x86 ARM ARM64
πŸšͺ Windows Vista to 11 Above 30 MB Memory βœ… βœ… βœ… βœ…
🐧 Linux Any Distribution Above 30 MB Memory βœ… ❌ βœ… βœ…
🍎 OSX 10.12 or above Above 30 MB Memory βœ… ❌ βœ… βœ…

x64 and x86 requires C# Runtime, arm and arm64 doesn't need C# Runtime