|
@@ -0,0 +1,486 @@
|
|
|
|
+
|
|
|
|
+@manpage Keywords
|
|
|
|
+
|
|
|
|
+@#### Abstract
|
|
|
|
+
|
|
|
|
+Used while declaring classes: class cannot be instantiated with `New`, it must be extended.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.classes|Classes]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Alias
|
|
|
|
+
|
|
|
|
+Used for convenience types. For example `Vec2i` is a convenience type alias for `Vec2<Int>`.
|
|
|
|
+
|
|
|
|
+Used to import extern typedefs too.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.alias|Alias]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Array
|
|
|
|
+
|
|
|
|
+`Array` is not currently used but is reserved for future use.
|
|
|
|
+
|
|
|
|
+See [[language-reference.arrays|Arrays]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Case
|
|
|
|
+
|
|
|
|
+To be combined with with the `Select` statement.
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.select|Select]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Cast
|
|
|
|
+
|
|
|
|
+Allows you to cast custom pointers.
|
|
|
|
+
|
|
|
|
+See [[built-in-types.explicit-type-conversions|explicit type conversions]] and [[expressions.operators|operators]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Catch
|
|
|
|
+
|
|
|
|
+The `Catch` keyword is part of the Try/Catch exception-handling construct.
|
|
|
|
+
|
|
|
|
+See [[error-handling.exceptions|exceptions]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Class
|
|
|
|
+
|
|
|
|
+Marks the start of a class object definition.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.classes|Classes]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Const
|
|
|
|
+
|
|
|
|
+Allows you to declare a constant.
|
|
|
|
+
|
|
|
|
+See [[variables.consts|Consts]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Continue
|
|
|
|
+
|
|
|
|
+Used to skip a loop.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.continue|Continue]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### CString
|
|
|
|
+
|
|
|
|
+Reserved keyword.
|
|
|
|
+C style String for external string parameters.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Default
|
|
|
|
+
|
|
|
|
+Marks the start of the default code block of a `Select` statement.
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.select|Select]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Delete
|
|
|
|
+
|
|
|
|
+`Delete` is reserved for future use.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Eachin
|
|
|
|
+
|
|
|
|
+Allows you to use `For` loop with collections.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.for-eachin|For Eachin]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Else
|
|
|
|
+
|
|
|
|
+To be combined with the `If` statement.
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.if|If]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Elseif
|
|
|
|
+
|
|
|
|
+To be combined with the `If` statement.
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.if|If]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### End
|
|
|
|
+
|
|
|
|
+Ends a declaration or statment block.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Endif
|
|
|
|
+
|
|
|
|
+Ends `If` statement.
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.if|If]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Enum
|
|
|
|
+
|
|
|
|
+32 Bit integer Enumerated Type.
|
|
|
|
+<br>
|
|
|
|
+<a href="javascript:void('monkey:enums#enums')" onclick="openDocsPage('monkey:enums#enums')">See Enums.</a>
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Exit
|
|
|
|
+
|
|
|
|
+Used to terminate a loop.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.exit|Exit]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Extends
|
|
|
|
+
|
|
|
|
+Used for class declaration.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.classes|Classes]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Extension
|
|
|
|
+
|
|
|
|
+Used to add some features to an existing user defined type without inheritance.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.extensions|Extensions]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Extern
|
|
|
|
+
|
|
|
|
+Marks the start of definitions for C/C++ imports.
|
|
|
|
+
|
|
|
|
+See [[native-code|native code]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### False
|
|
|
|
+
|
|
|
|
+Boolean False value
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Field
|
|
|
|
+
|
|
|
|
+Fields are variables that live inside the memory allocated for an instance of a class or struct.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.classes|Classes]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Final
|
|
|
|
+
|
|
|
|
+Methods declared as `Final` are non-virtual and cannot be overridden by a subclass method.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.classes|Classes]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### For
|
|
|
|
+
|
|
|
|
+Marks the start of a `For` loop
|
|
|
|
+
|
|
|
|
+See [[loop-statements.for|For]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Forever
|
|
|
|
+
|
|
|
|
+Used at the end of a `Repeat` loop. The loop will loop forever unless `Exit` is called.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.repeat|Repeat]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Friend
|
|
|
|
+
|
|
|
|
+`Friend` is reserved for future use.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Function
|
|
|
|
+
|
|
|
|
+Used to declare a function within a struct, a class or at global scope.
|
|
|
|
+
|
|
|
|
+See [[functions|Functions]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Getter
|
|
|
|
+
|
|
|
|
+Used to declare the getter for a property.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.properties|Properties]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Global
|
|
|
|
+
|
|
|
|
+Global variables live in global memory and exist for the lifetime of the application.
|
|
|
|
+
|
|
|
|
+See [[variables.global-variables|global variables]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### If
|
|
|
|
+
|
|
|
|
+The `If` statement allows you to conditionally execute a block of statements depending on the result of a series of boolean expressions.
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.if|If]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Implements
|
|
|
|
+
|
|
|
|
+Used to declare classes implementing an interface.
|
|
|
|
+`Implements` can also be combined with `where` to check generics type constrain.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.interfaces|Interfaces]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Import
|
|
|
|
+
|
|
|
|
+Assets and code files can be imported with 'Import'
|
|
|
|
+
|
|
|
|
+See [[modules-and-applications.importing-modules|Importing modules]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Inline
|
|
|
|
+
|
|
|
|
+`Inline` is reserved for future use.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Interface
|
|
|
|
+
|
|
|
|
+Interfaces are Class models definition. It's a pure abstract object to be implemented by a `Class`.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.interfaces|Interfaces]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Internal
|
|
|
|
+
|
|
|
|
+`Internal` may appear at file or class scope and is used to declare module internal accessibility.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Lambda
|
|
|
|
+
|
|
|
|
+A lambda function is a special type of function that can be declared in the middle of an expression.
|
|
|
|
+
|
|
|
|
+See [[functions.lambda-functions|Lambda function]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Local
|
|
|
|
+
|
|
|
|
+Local variables live on the stack. They are lost once their scope is exited.
|
|
|
|
+
|
|
|
|
+See [[variables.local-variables|Local variables]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Method
|
|
|
|
+
|
|
|
|
+A Method is special type of function associated with a Class or a Struct. It can acces the object fields.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.methods|Methods]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Namespace
|
|
|
|
+
|
|
|
|
+All identifiers declared in a monkey2 program file end up inside a 'namespace'.
|
|
|
|
+
|
|
|
|
+SDee [[namespaces.declaring-namespaces|Declaring namespaces]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### New
|
|
|
|
+
|
|
|
|
+`New` calls a Class, Struct or Array constructor. It must be called before using a Class or an Array. It is advised to call it before using a struct.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Next
|
|
|
|
+
|
|
|
|
+Used at the end of a `For` loop.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.for|For]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Operator
|
|
|
|
+
|
|
|
|
+`Operator` is used to declare special methods using a set of available expressions (+,-,/,<>,...)
|
|
|
|
+
|
|
|
|
+See [[expressions.operator-overloading|Operator overloading]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Override
|
|
|
|
+
|
|
|
|
+Used to override a virtual method when declaring a sub-class.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.classes|Classes]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Print
|
|
|
|
+
|
|
|
|
+Prints a String or a numeric value to the output console.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Private
|
|
|
|
+
|
|
|
|
+Sets the acces control of a Class or Struct members to "Private". Private members can only be accessed by the original class OR by any code within the same .monkey2 file.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.encapsulation|Encapsulation]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Property
|
|
|
|
+
|
|
|
|
+Property is a special type of field that may include some getter/setter additionnal code if desired.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.properties|Properties]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Protected
|
|
|
|
+
|
|
|
|
+Sets the acces control of a Class or Struct members to "Protected". Protected members can only be accessed by the original class and subclasses OR by any code within the same .monkey2 file.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.encapsulation|Encapsulation]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Protocol
|
|
|
|
+
|
|
|
|
+`Protocol` is reserved for future use.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Public
|
|
|
|
+
|
|
|
|
+Sets the acces control of a Class or Struct members to "Public". Public members can be accessed from anywhere. It's the default level.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.encapsulation|Encapsulation]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Repeat
|
|
|
|
+
|
|
|
|
+Used to start a `Repeat` loop
|
|
|
|
+
|
|
|
|
+See [[loop-statements.repeat|Repeat]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Return
|
|
|
|
+
|
|
|
|
+Used to end and return the expected value of a `Function`, `Method` or `Operator`
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Select
|
|
|
|
+
|
|
|
|
+The Select statement allows you to execute a block of statements depending on a series of comparisons. `Select` combines with `Case` and `Default`
|
|
|
|
+
|
|
|
|
+See [[conditional-statements.select|Select]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Setter
|
|
|
|
+
|
|
|
|
+Marks the start of a Property setter definition.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.properties|Properties]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Static
|
|
|
|
+
|
|
|
|
+`Static` is reserved for future use.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Step
|
|
|
|
+
|
|
|
|
+Defines the incrementation step for `Next` loops.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.for|For]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Struct
|
|
|
|
+
|
|
|
|
+Used to declare a `Struct`
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.structs|Structs]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Then
|
|
|
|
+
|
|
|
|
+Facultative keyword used in combination with the `If` keyword.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Throw
|
|
|
|
+
|
|
|
|
+The `Throw` keyword is part of the Try/Catch exception-handling construct.
|
|
|
|
+
|
|
|
|
+See [[error-handling.exceptions|exceptions]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Throwable
|
|
|
|
+
|
|
|
|
+The Throwable class must be extended by all classes that are intended to be used with `Throw`.
|
|
|
|
+
|
|
|
|
+See [[error-handling.exceptions|exceptions]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### To
|
|
|
|
+
|
|
|
|
+Defines range of values to be assigned to the index variable in a For/Next loop.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.for|For]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Try
|
|
|
|
+
|
|
|
|
+Declares the start of a Try/Catch block.
|
|
|
|
+
|
|
|
|
+See [[error-handling.exceptions|exceptions]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### TypeInfo
|
|
|
|
+
|
|
|
|
+Returns the type of a variable/object.
|
|
|
|
+
|
|
|
|
+See [[reflection.typeof-and-typeinfo|Typeof and TypeInfo]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Until
|
|
|
|
+
|
|
|
|
+Marks the end of a Repeat/Until loop. The `Until` keyword is also found as a modifier in For/Next loops.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.repeat|Repeat]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Using
|
|
|
|
+
|
|
|
|
+The `Using` directive provides a way to add namespace 'search paths' for locating identifiers.
|
|
|
|
+
|
|
|
|
+See [[namespaces.accessing-namespaces|Accessing namespaces]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Var
|
|
|
|
+
|
|
|
|
+`Var` is reserved for future use.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Variant
|
|
|
|
+
|
|
|
|
+The `Variant` type is a primitive type that can be used to 'box' values of any type.
|
|
|
|
+
|
|
|
|
+See [[variants|Variants]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Varptr
|
|
|
|
+
|
|
|
|
+`Varptr` is used to reference pointers.
|
|
|
|
+
|
|
|
|
+See [[pointers.referencing|Pointers]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Virtual
|
|
|
|
+
|
|
|
|
+A virtual method is a method that can be overriden.
|
|
|
|
+
|
|
|
|
+See [[user-defined-types.methods|Methods]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Wend
|
|
|
|
+
|
|
|
|
+Wend, short for While [loop] End, marks the end of a While loop.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.while|While]].
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### Where
|
|
|
|
+
|
|
|
|
+`Where` allows generic type constrains.
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+@#### While
|
|
|
|
+
|
|
|
|
+Marks the start of a While loop.
|
|
|
|
+
|
|
|
|
+See [[loop-statements.while|While]].
|