- Smart Personal Cloud
Basics Accepts arbitrary input, tolerant errors and run with best effort.
Spaces separate tokens.
Case insensitive
Bold is keyword
Italic is optional
AB means "A or B"
A,... means "multiple A"
Name first char must be letter or _, rest must be letter, number or _
Tag <name attribute=value,...>body</name>
<name attribute=value,.../>
Reference part . part ...
part can be name, array, or function call
Array name[expression][expression]...
Function Call name(parameter, parameter, ...)
Expression expression +-*/>=<=><==<>>><<>>> expression
expression ModXorOrAnd expression
+- expression
( expression )
Declare Variable Var name As type = expression
Assignment name = expression
Condition Statement If expression Then
    statementList
ElseIf expression Then
    statementList
Else
    statementList
End
For Statement label : For name = expression To expression Step expression
     statementList
Next
Loop Statement label : DoWhile expression
     statementList
End
Use Statement Use path As alias
Return Statement Return expression
Break Statement Break label
Continue Statement Continue label
Function Declaration Func name(arg as type,...) As type
    statementList
End
Class Declaration Class name Extends name,... Implements name
     classBodyEntry
End
Interface Declaration Interface name Extends name,...
     classBodyEntry
End
Save Statement Save expression To path
Load Statement Load type WithId expression From path
Select Statement Select type From path Where expression Order By ( name,... ) AscDesc