mirror of
https://github.com/Ed94/metadesk.git
synced 2026-06-12 23:51:37 -07:00
97 lines
1.9 KiB
Plaintext
97 lines
1.9 KiB
Plaintext
////////////////////////////////
|
|
// Identifiers (MD_NodeFlag_Identifier)
|
|
abc _foo_ x123
|
|
almostAnyCIdentifier // not including $
|
|
|
|
////////////////////////////////
|
|
// Numerics (MD_NodeFlag_Numeric)
|
|
123 0x123ABC 0b10101 123.456
|
|
0.123 123_456_789
|
|
123abc456xyz
|
|
123e+100
|
|
456E-100
|
|
789e+E-e+E-100100xyz
|
|
|
|
////////////////////////////////
|
|
// String Literals (MD_NodeFlag_StringLiteral)
|
|
|
|
//(MD_NodeFlag_StringDoubleQuote)
|
|
"Hello World"
|
|
" 'Hello World` "
|
|
"\"Hello World\""
|
|
"\\\a\b\c\d\e\f\""
|
|
""
|
|
|
|
//(MD_NodeFlag_StringSingleQuote)
|
|
'Hello World'
|
|
' "Hello World` '
|
|
''
|
|
|
|
//(MD_NodeFlag_StringTick)
|
|
`Hello World`
|
|
` "Hello World' `
|
|
``
|
|
|
|
////////////////////////////////
|
|
// Multi-Line String Literals (MD_NodeFlag_StringLiteral|MD_NodeFlag_StringTriplet)
|
|
|
|
//(MD_NodeFlag_StringDoubleQuote)
|
|
"""
|
|
This string can go on
|
|
for as many lines as I want.
|
|
And it can say things like
|
|
"Hello World"
|
|
or you know, whatever.
|
|
"""
|
|
|
|
//(MD_NodeFlag_StringSingleQuote)
|
|
'''
|
|
Multi-line strings can start
|
|
with a triplet of any of the
|
|
string markers.
|
|
'''
|
|
|
|
//(MD_NodeFlag_Tick)
|
|
```
|
|
```
|
|
|
|
////////////////////////////////
|
|
// Symbols (MD_NodeFlag_Symbol)
|
|
+ - * / = & ^ % ! | ? < > . ~
|
|
$
|
|
++ -- ** == && ^^ %% !! || ??
|
|
<< >> .. ~~ $$ -> <- => <= ?.
|
|
+= -= *= /= |= &= ^= %= != |=
|
|
...
|
|
+- +++++++ ??? !? $! $$$ <->
|
|
+-*/=&^%~|?<>.~$
|
|
|
|
/*
|
|
** A few punctuation characters are not counted with the rest
|
|
** of the symbol characters. These are the 'reserved' characters:
|
|
** ( ) { } [ ] : ; , @ # \
|
|
**
|
|
** And the sequences // and /* start comments so no symbol
|
|
** can start with either of those pairs.
|
|
**
|
|
** Block comments are nested */
|
|
*/
|
|
|
|
|
|
////////////////////////////////
|
|
// Identifiers, Numbers, Strings, and Symbols are the different kinds
|
|
// of 'labels' in Metadesk. They can all form main metadesk nodes:
|
|
|
|
_foo_: { bar123456; _123; }
|
|
|
|
0: (1.0.1.1, 1.2.0.0)
|
|
|
|
```
|
|
#include <stdio.h>
|
|
int main(){
|
|
printf("Hello World\n");
|
|
}
|
|
```: "Hello World"
|
|
|
|
..: . + .
|