|
@@ -1,877 +0,0 @@
|
|
-<!DOCTYPE html>
|
|
|
|
-
|
|
|
|
-<html>
|
|
|
|
-
|
|
|
|
-<head>
|
|
|
|
-
|
|
|
|
-<title>Monkey2 Modules Reference</title>
|
|
|
|
-
|
|
|
|
-<link rel='stylesheet' href='css/microgram.css'>
|
|
|
|
-
|
|
|
|
-<link rel='stylesheet' href='js-treeview/treeview.css' />
|
|
|
|
-
|
|
|
|
-</head>
|
|
|
|
-
|
|
|
|
-<body style='position:static; width:100%; height:100%; margin:32px;'>
|
|
|
|
-
|
|
|
|
-<div class="container"><h3 id="primitive-types">Primitive types</h3>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Name</th>
|
|
|
|
- <th align="left">Description</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left"><code>Void</code></td>
|
|
|
|
- <td align="left">No type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Bool</code></td>
|
|
|
|
- <td align="left">Boolean</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Byte</code></td>
|
|
|
|
- <td align="left">8 bit signed integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>UByte</code></td>
|
|
|
|
- <td align="left">8 bit unsigned integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Short</code></td>
|
|
|
|
- <td align="left">16 bit signed integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>UShort</code></td>
|
|
|
|
- <td align="left">16 bit unsigned integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Int</code></td>
|
|
|
|
- <td align="left">32 bit signed integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>UInt</code></td>
|
|
|
|
- <td align="left">32 bit unsigned integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Long</code></td>
|
|
|
|
- <td align="left">64 bit signed integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>ULong</code></td>
|
|
|
|
- <td align="left">64 bit unsigned integer</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Float</code></td>
|
|
|
|
- <td align="left">32 bit float</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Double</code></td>
|
|
|
|
- <td align="left">64 bit float</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>String</code></td>
|
|
|
|
- <td align="left">Character string</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Object</code></td>
|
|
|
|
- <td align="left">Class instance</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="derived-types">Derived types</h3>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Syntax</th>
|
|
|
|
- <th align="left">Derived type</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left">type <code>[ ]</code></td>
|
|
|
|
- <td align="left">Array type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">type <code>(</code> types <code>)</code></td>
|
|
|
|
- <td align="left">Function type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">type <code><</code> types <code>></code></td>
|
|
|
|
- <td align="left">Generic type instance</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">type <code>Ptr</code></td>
|
|
|
|
- <td align="left">Pointer type</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="native-wrapper-types">Native wrapper types</h3>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Name</th>
|
|
|
|
- <th align="left">Description</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left"><code>CString</code></td>
|
|
|
|
- <td align="left">Null terminated C/C++ <code>const char *</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>WString</code></td>
|
|
|
|
- <td align="left">Null terminated C/C++ <code>wchar_t *</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Utf8String</code></td>
|
|
|
|
- <td align="left">Null terminated C/C++ <code>const unsigned char *</code> in utf8 encoding.</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<p><code>CString</code>, <code>WString</code> and <code>Utf8String</code> should only be used when declaring parameters for extern functions.</p>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="implicit-conversions">Implicit conversions</h3>
|
|
|
|
-
|
|
|
|
-<p>These conversions are performed automatically:</p>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Source type</th>
|
|
|
|
- <th align="left">Destination type</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left">Any non-void type</td>
|
|
|
|
- <td align="left"><code>Bool</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Any numeric type</td>
|
|
|
|
- <td align="left">Any numeric type, <code>String</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>String</code></td>
|
|
|
|
- <td align="left"><code>CString</code>, <code>WString</code>, <code>Utf8String</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Any pointer type</td>
|
|
|
|
- <td align="left"><code>Void Ptr</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Any enum type</td>
|
|
|
|
- <td align="left"><code>Int</code></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Derived class</td>
|
|
|
|
- <td align="left">Base class</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="explicit-conversions">Explicit conversions</h3>
|
|
|
|
-
|
|
|
|
-<p>The <code>Cast</code> <code><</code> <em>dest-type</em> <code>></code> <code>:</code> <em>dest-type</em> <code>(</code> <em>expression</em> <code>)</code> operator must be used for these conversions:</p>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Source type</th>
|
|
|
|
- <th align="left">Destination type</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left"><code>Bool</code></td>
|
|
|
|
- <td align="left">Any numeric type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>String</code></td>
|
|
|
|
- <td align="left">Any numeric type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Any pointer type</td>
|
|
|
|
- <td align="left">Any pointer type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Int</code></td>
|
|
|
|
- <td align="left">Any enum type</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Base class</td>
|
|
|
|
- <td align="left">Derived class</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="operators">Operators</h3>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Operator</th>
|
|
|
|
- <th align="left">Description</th>
|
|
|
|
- <th align="center">Precedence</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left"><code>New</code></td>
|
|
|
|
- <td align="left">New object or array</td>
|
|
|
|
- <td align="center">1</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Null</code></td>
|
|
|
|
- <td align="left">Null value</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Self</code></td>
|
|
|
|
- <td align="left">Self instance</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Super</code></td>
|
|
|
|
- <td align="left">Super instance</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>True</code></td>
|
|
|
|
- <td align="left">Boolean true</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>False</code></td>
|
|
|
|
- <td align="left">Boolean false</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Cast</code></td>
|
|
|
|
- <td align="left">Cast operator</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Lambda</code></td>
|
|
|
|
- <td align="left">Lambda function</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><em>identifier</em></td>
|
|
|
|
- <td align="left">Identifier</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><em>literal</em></td>
|
|
|
|
- <td align="left">Literal value</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>.</code></td>
|
|
|
|
- <td align="left">Postfix member acccess</td>
|
|
|
|
- <td align="center">2</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>( )</code></td>
|
|
|
|
- <td align="left">Postfix Invoke</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>[ ]</code></td>
|
|
|
|
- <td align="left">Postfix Index</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>< ></code></td>
|
|
|
|
- <td align="left">Postfix Generic instance</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Varptr</code></td>
|
|
|
|
- <td align="left">Unary variable address</td>
|
|
|
|
- <td align="center">3</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>-</code></td>
|
|
|
|
- <td align="left">Unary numeric negate</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>~</code></td>
|
|
|
|
- <td align="left">Unary integer complement</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Not</code></td>
|
|
|
|
- <td align="left">Unary boolean invert</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>*</code></td>
|
|
|
|
- <td align="left">Numeric multiplication</td>
|
|
|
|
- <td align="center">4</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>/</code></td>
|
|
|
|
- <td align="left">Numeric division</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Mod</code></td>
|
|
|
|
- <td align="left">Numeric modulo</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>+</code></td>
|
|
|
|
- <td align="left">Numeric addition</td>
|
|
|
|
- <td align="center">5</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>-</code></td>
|
|
|
|
- <td align="left">Numeric subtraction</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Shl</code></td>
|
|
|
|
- <td align="left">Integer shift left</td>
|
|
|
|
- <td align="center">6</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Shr</code></td>
|
|
|
|
- <td align="left">Integer shift right</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>&</code></td>
|
|
|
|
- <td align="left">Integer and</td>
|
|
|
|
- <td align="center">7</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>~</code></td>
|
|
|
|
- <td align="left">Integer xor</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>|</code></td>
|
|
|
|
- <td align="left">Integer or</td>
|
|
|
|
- <td align="center">8</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code><=></code></td>
|
|
|
|
- <td align="left">Compare</td>
|
|
|
|
- <td align="center">9</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code><</code></td>
|
|
|
|
- <td align="left">Less than</td>
|
|
|
|
- <td align="center">10</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>></code></td>
|
|
|
|
- <td align="left">Greater than</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code><=</code></td>
|
|
|
|
- <td align="left">Less than or equal</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>>=</code></td>
|
|
|
|
- <td align="left">Greater than or equal</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>=</code></td>
|
|
|
|
- <td align="left">Equal</td>
|
|
|
|
- <td align="center">11</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code><></code></td>
|
|
|
|
- <td align="left">Not equal</td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>And</code></td>
|
|
|
|
- <td align="left">Boolean and</td>
|
|
|
|
- <td align="center">12</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>Or</code></td>
|
|
|
|
- <td align="left">Boolean or</td>
|
|
|
|
- <td align="center">13</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="left"></td>
|
|
|
|
- <td align="center"></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left"><code>?</code> <code>Else</code></td>
|
|
|
|
- <td align="left">If-then-else</td>
|
|
|
|
- <td align="center">14</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="string-members">String members</h3>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Member</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left">Property Length:Int</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Property Utf8Length:Int</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Find:Int( str:String,from:Int=0 )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method FindLast:Int( str:String,from:Int=0 )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Contains:Bool( str:String )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method StartsWith:Bool( str:String )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method EndsWith:Bool( str:String )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Slice:String( from:Int )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Slice:String( from:Int,tail:Int )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method ToUpper:String()</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method ToLower:String()</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Capitalize:String()</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Trim:String()</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Replace:String( find:String,replace:String )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Split:String<a></a></td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method Join:String( bits:String[] )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Method ToUtf8String:Int( buf:Void Ptr,size:Int )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Function FromChar:String( chr:Int )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Function FromCString:String( data:Void Ptr )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Function FromWString:String( data:Void Ptr )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Function FromUtf8String:String( data:Void Ptr )</td>
|
|
|
|
-</tr>
|
|
|
|
-<tr>
|
|
|
|
- <td align="left">Function FromUtf8String:String( data:Void Ptr,size:Int )</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="array-members">Array members</h3>
|
|
|
|
-
|
|
|
|
-<table>
|
|
|
|
-<thead>
|
|
|
|
-<tr>
|
|
|
|
- <th align="left">Member</th>
|
|
|
|
-</tr>
|
|
|
|
-</thead>
|
|
|
|
-<tbody><tr>
|
|
|
|
- <td align="left">Property Length:Int</td>
|
|
|
|
-</tr>
|
|
|
|
-</tbody></table>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="creating-arrays">Creating arrays</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>New</code> <em>element-type</em> <code>[</code> <em>length-expression</em> <code>]</code></p></li>
|
|
|
|
-<li><p><code>New</code> <em>element-type</em> <code>[]</code> <code>(</code> <em>element-expressions</em> <code>)</code></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="local-variables">Local variables</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Local</code> <em>identifier</em> <code>:</code> <em>type</em> [ <code>=</code> <em>expression</em> ]</p></li>
|
|
|
|
-<li><p><code>Local</code> <em>identifier</em> <code>:=</code> <em>expression</em></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="field-variables">Field variables</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Field</code> <em>identifier</em> <code>:</code> <em>type</em> [ <code>=</code> <em>expression</em> ]</p></li>
|
|
|
|
-<li><p><code>Field</code> <em>identifier</em> <code>:=</code> <em>expression</em></p></li>
|
|
|
|
-<li><p><code>Field</code> <em>identifier</em> <code>:</code> <em>type</em> <code>=</code> <em>extern-symbol</em></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="global-variables">Global variables</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Global</code> <em>identifier</em> <code>:</code> <em>type</em> [ <code>=</code> <em>expression</em> ]</p></li>
|
|
|
|
-<li><p><code>Global</code> <em>identifier</em> <code>:=</code> <em>expression</em></p></li>
|
|
|
|
-<li><p><code>Global</code> <em>identifier</em> <code>:</code> <em>type</em> <code>=</code> <em>extern-symbol</em></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="constants">Constants</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Const</code> <em>identifier</em> <code>:</code> <em>type</em> <code>=</code> <em>expression</em></p></li>
|
|
|
|
-<li><p><code>Const</code> <em>identifier</em> <code>:=</code> <em>expression</em></p></li>
|
|
|
|
-<li><p><code>Const</code> <em>identifier</em> <code>:</code> <em>type</em> <code>=</code> <em>extern-symbol</em></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="classes">Classes</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Class</code> <em>identifier</em> [ <code><</code> <em>generic-types</em> <code>></code> ] [ <code>Extends</code> <em>type</em> ] [ <code>Implements</code> <em>types</em> ] [ <code>Abstract</code> | <code>Virtual</code> | <code>Final</code> ] [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code> extern-symbol ] <br>
|
|
|
|
- <em>class-members</em> <br>
|
|
|
|
-<code>End</code> | <code>End Class</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-<p>Class methods are final by default and must be declared <code>Virtual</code> or <code>Abstract</code> if they are designed to be overridden, or <code>Override</code> or <code>Override Final</code> if they override a superclass method.</p>
|
|
|
|
-
|
|
|
|
-<p>This behavior can be modified by declaring a class <code>Virtual</code>. Classes declared <code>Virtual</code> or with a superclass declared <code>Virtual</code> behave much like monkey1 or java classes - all methods are virtual by default, and will silently override any existing superclass virtual methods. It is an error to declare methods of such classes either <code>Virtual</code> or <code>Override</code>.</p>
|
|
|
|
-
|
|
|
|
-<p>Classes declared <code>Abstract</code> or that contain any abstract methods cannot be instantiated using <code>New</code>.</p>
|
|
|
|
-
|
|
|
|
-<p>Classes declared <code>Final</code> cannot be extended.</p>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="interfaces">Interfaces</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Interface</code> <em>identifier</em> [ <code>Extends</code> <em>types</em> ] [ <code>=</code> extern-symbol ] <br>
|
|
|
|
- <em>interface-members</em> <br>
|
|
|
|
-<code>End</code> | <code>End Interface</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="structs">Structs</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Struct</code> <em>identifier</em> [ <code>=</code> extern-symbol ] <br>
|
|
|
|
- <em>struct-members</em> <br>
|
|
|
|
-<code>End</code> | <code>End Struct</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="properties">Properties</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Property</code> <em>identifier</em> <code>:</code> <em>type</em> <code>()</code> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-[ <code>Setter</code> <code>(</code> <em>param-decl</em> <code>)</code> <br>
|
|
|
|
- <em>statement-block</em> ] <br>
|
|
|
|
-<code>End</code> | <code>End Property</code></p></li>
|
|
|
|
-<li><p><code>Property</code> <em>identifier</em> <code>(</code> <em>param-decl</em> <code>)</code> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-[ <code>Getter</code> <code>:</code> <em>type</em> <code>()</code> <br>
|
|
|
|
- <em>statement-block</em> ] <br>
|
|
|
|
-<code>End</code> | <code>End Property</code></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="functions">Functions</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Function</code> <em>identifier</em> [ <code><</code> <em>generic-types</em> <code>></code> ] [ <code>:</code> <em>return-type</em> ] <code>(</code> <em>param-decls</em><code>)</code> [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code><em>extern-symbol</em> ] <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>End</code> | <code>End Function</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="methods">Methods</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Method</code> <em>identifier</em> [ <code><</code> <em>generic-types</em> <code>></code> ] [ <code>:</code> <em>return-type</em> ] <code>(</code> <em>param-decls</em> <code>)</code> [ <code>Virtual</code> | <code>Override</code> | <code>Final</code> | <code>Override Final</code> ] [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code><em>extern-symbol</em> ] <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>End</code> | <code>End Method</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="properties-1">Properties</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Property</code> <em>identifier</em> <code>:</code> <em>type</em> <code>()</code> [ <code>Virtual</code> | <code>Override</code> | <code>Final</code> | <code>Override Final</code> ] [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code><em>extern-symbol</em> ] <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-[ <code>Setter</code> <code>(</code> <em>param-decl</em> <code>)</code> [ <code>Virtual</code> | <code>Override</code> | <code>Final</code> | <code>Override Final</code> ] [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code><em>extern-symbol</em> ] <br>
|
|
|
|
- <em>statement-block</em> ] <br>
|
|
|
|
-<code>End</code> | <code>End Property</code></p></li>
|
|
|
|
-<li><p><code>Property</code> <em>identifier</em> <code>(</code> <em>param-decl</em> <code>)</code> [ <code>Virtual</code> | <code>Override</code> | <code>Final</code> | <code>Override Final</code> ] [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code><em>extern-symbol</em> ] <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-[ <code>Getter</code> <code>:</code> <em>type</em> <code>()</code> [ <code>Virtual</code> | <code>Override</code> | <code>Final</code> | <code>Override Final</code> ] [ <code>Where</code> <em>where-expression</em> ] [ <code>=</code><em>extern-symbol</em> ] <br>
|
|
|
|
- <em>statement-block</em> ] <br>
|
|
|
|
-<code>End</code> | <code>End Property</code></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-<p>Example:</p>
|
|
|
|
-
|
|
|
|
-<pre>Struct S
|
|
|
|
-
|
|
|
|
- Private
|
|
|
|
-
|
|
|
|
- 'Internal storage for the property
|
|
|
|
- Field _seconds:Float
|
|
|
|
-
|
|
|
|
- Public
|
|
|
|
-
|
|
|
|
- 'Read/Write 'Seconds' property...
|
|
|
|
- Property Seconds:Float()
|
|
|
|
-
|
|
|
|
- Return _seconds
|
|
|
|
-
|
|
|
|
- Setter( seconds:Float )
|
|
|
|
-
|
|
|
|
- _seconds=seconds
|
|
|
|
- End
|
|
|
|
-
|
|
|
|
- 'Read only 'Minutes' property...
|
|
|
|
- Property Minutes:Float()
|
|
|
|
-
|
|
|
|
- Return _seconds/60.0
|
|
|
|
- End
|
|
|
|
-
|
|
|
|
-End
|
|
|
|
-</pre>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="if-statement">If statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>If</code> <em>expression</em> [ <code>Then</code> ] <em>simple-statements</em> { <code>ElseIf</code> <em>expression</em> [ <code>Then</code> ] <em>simple-statements</em> } [ <code>Else</code> <em>simple-statements</em> ]</p></li>
|
|
|
|
-<li><p><code>If</code> <em>expression</em> [ <code>Then</code> ] <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-{ <code>ElseIf</code> <em>expression</em> <br>
|
|
|
|
- <em>statement-block</em> } <br>
|
|
|
|
-[ <code>Else</code> <br>
|
|
|
|
- <em>statement-block</em> ] <br>
|
|
|
|
-<code>End</code> | <code>End If</code> | <code>EndIf</code></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="while-loop">While loop</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>While</code> <em>expression</em> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>End</code> | <code>End While</code> | <code>Wend</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="repeat-loop">Repeat loop</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>Repeat</code> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>Until</code> <em>expression</em></p></li>
|
|
|
|
-<li><p><code>Repeat</code> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>Forever</code></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="for-loop">For loop</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><p><code>For</code> <em>variable-expression</em> <code>=</code> <em>expression</em> <code>To</code> | <code>Until</code> <em>expression</em> [ <code>Step</code> <em>expression</em> ] <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>End</code> | <code>End For</code> | <code>Next</code></p></li>
|
|
|
|
-<li><p><code>For</code> <em>variable-expression</em> <code>= Eachin</code> <em>expression</em> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>End</code> | <code>End For</code> | <code>Next</code></p></li>
|
|
|
|
-<li><p><code>For</code> <em>simple-statement</em> <code>,</code> <em>expression</em> <code>,</code> <em>simple-statement</em> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>End</code> | <code>End For</code> | <code>Next</code></p></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="select-statement">Select statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Select</code> <em>expression</em> <br>
|
|
|
|
-{ <code>Case</code> <em>expression</em> { <code>,</code> expression } <br>
|
|
|
|
- <em>statement-block</em> } <br>
|
|
|
|
-[ <code>Default</code> <br>
|
|
|
|
- <em>statement-block</em> ] <br>
|
|
|
|
-<code>End</code> | <code>End Select</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="try-statement">Try statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Try</code> <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-<code>Catch</code> ident <code>:</code> type <br>
|
|
|
|
- <em>statement-block</em> <br>
|
|
|
|
-{ <code>Catch</code> ident <code>:</code> type <br>
|
|
|
|
- <em>statement-block</em> } <br>
|
|
|
|
-<code>End</code> | <code>End Try</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="return-statement">Return statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Return</code> [ <em>expression</em> ]</li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="throw-statement">Throw statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Throw</code> [ <em>expression</em> ]</li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="continue-statement">Continue statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Continue</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="exit-statement">Exit statement</h3>
|
|
|
|
-
|
|
|
|
-<ul>
|
|
|
|
-<li><code>Exit</code></li>
|
|
|
|
-</ul>
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-
|
|
|
|
-<h3 id="keywords">Keywords</h3>
|
|
|
|
-
|
|
|
|
-<p><code>Namespace Using Import Extern Public Private Protected Void Bool Byte UByte Short UShort Int UInt Long ULong Float Double String Object New Self Super Eachin True False Null Where Alias Const Local Global Field Method Function Property Getter Setter Operator Lambda Enum Class Interface Struct Extends Implements Virtual Override Abstract Final Inline Varptr Ptr Not Mod And Or Shl Shr End If Then Else Elseif Endif While Wend Repeat Until Forever For To Step Next Select Case Default Try Catch Throw Throwable Continue Exit Return Print Cast</code></p>
|
|
|
|
-
|
|
|
|
-<p>These keywords are currently unused but reserved for future use:</p>
|
|
|
|
-
|
|
|
|
-<p><code>Extension Protocol Delete Var Friend Static</code></p></div>
|
|
|
|
-
|
|
|
|
-</body>
|
|
|
|
-
|
|
|
|
-</html>
|
|
|