A script language of step-sharing scheduling coroutine in single thread
Like preprocess in C, Melang supports simple preprocess.
#define NAME 'John' //define macro
#NAME //use macro
#undef NAME //undefine macro
Name is equivalent to ‘John’. Melang just simply replace ‘NAME’ with ‘John’ in code.
//example A
#if NAME
... //code A
#endif
//example B
#if NAME
... //code B
#else
... //code C
#endif
In example A, if NAME is defined, code A will be executed.
In example B, if NAME is defined, code B will be executed, otherwise execute code C.
Just like include in C, Melang also support it to load some script files into a file.
Note: the included file must be quoted by double quotes.
e.g.
#include "~/lib.mln"
The path should follow these rules:
if path is an absolute path, just try to load it.
if path is not a absolute path, interpreter will search for file in the following order:
If failed, an error would be occurred.
Another example:
//in /xxx/yyy/a.m
#include "@/b.m"
@
is a special char stands for base directory of current file (a.m
). So its value is `/xxx/yyy’.
So /xxx/yyy/b.m
will be included in a.m
.