Skip to content
Paolo Angeli edited this page Oct 20, 2019 · 23 revisions

Warning

Everything related to symbols is still subject to changes.

This is only a quick reference. There are some subtle nuances related to some symbols.

(a) Some symbols are used multiple times with different meanings in different contexts.

Punctuation:

Symbol Description
; End of statement
. Navigation to contained sub item or data fragment
, List element separator
{ ... } Scope delimitation
( ... ) List of arguments or values
" ... " Static string declaration
' ... ' Operator defined by the user

Declaration/Allocation and Assignment:

Symbol Description
: Declaration of a variable with the type defined explicitly by the programmer (a)
= Assignment operator (a)
:= Declaration and assignment with data type inferred by the compiler
:: Constant declaration and assignment of:
* a value with data type inferred by the compiler
* a reusable code block: procedure/function
* a user defined type: struct/enum/...

Boolean/Logic/Comparison operators:

Symbol Description
== Is equal comparison (a)
!= Is Not equal comparison (a)
! Logic NOT operator
&& Logic AND operator
|| Logic OR operator
> Greater operator
>= Greater or equal operator
< Lesser operator
<= Lesser or equal operator

Arithmetic operators:

Symbol Description
+ Addition operator
+= Addition and assignment operator
++ Self increment operator
- Subtraction operator (a)
-= Subtraction and assignment operator (a)
-- Self decrement operator
* Multiplication operator (a)
*= Multiplication and assignment operator
/ Floating point division operator
/= Floating point division and assignment operator
^ Exponentiation operator
^= Exponentiation and assignement operator
% Modulus operator
%= Modulus and assignment operator

Bitwise operators:

Symbol Description
& Bitwise AND operator
&= Bitwise AND and assignment operator
| Bitwise OR operator
|= Bitwise OR and assignment operator
~ Bitwise Complement operator
~= Bitwise Complement and assignment operator

Arrays:

Symbol Description
[ N ] Static Array of length N
[..] Variable length array
.. Range operator

Memory operations:

Symbol Description
* Pointer type declaration (a)
*~ Relative pointer type declaration
<< Pointer explicit de-referentiation

Compiler:

Symbol Description
# Compiler directive statement
@ Serialization decorator statement or compiler directive
$ Polymorphic Type declaration usually in function argument

Misc/uncategorized:

Symbol Description
-> Function return type or types
: Explicit rename of the iterator in for loops (a)
` Backtick Declare an entity from an outer scope
<- Access an entity from an outer scope
xx Auto cast
--- Explicitly not initialized

Navigate

Types, constants and variables

  • Variables and assignments
  • Language data types
  • Simple user-defined data types
  • Expressions and operators
  • Type-casting
  • Pointers

Flow control

Procedures and functions

  • Declarations
  • Arguments / Parameters
  • Return values
  • Overloading / Polymorhism
  • Advanced features
  • Lambdas

Aggregated data types

  • Arrays
  • Strings
  • Composition of Structs

Advanced features

Clone this wiki locally