Melang

Logo

A script language of time-sharing scheduling coroutine in single thread

View the Project on GitHub Water-Melon/Melang

Preprocess

Like preprocess in C, Melang supports simple preprocess.

macro

#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.

condition

//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.

include

Just like include in C, Melang also support it to load some script files into the current file.

Note: the included file must be quoted by double quotes.

e.g.

#include "~/lib.mln"
// or load all files in a directory
#include "~/"
//files that are in sub-directories or prefixed by '.' will not be included

The path should follow these rules:

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.