core

### Literals

*Integers: 1, -6, 209

Reals: 1, -6, 2.4, -0.1, 345.6789

Strings: "Hello World", "47", "CIRCLE 1"

Points: A literal representation is not available for points. However, points can be made from other literals using the MPOINT function: For example, MPOINT(0,0,1), MPOINT(2.2,3.1,4.0).

Pointer: The name of a feature enclosed in French brackets: {CIR1},{LIN2},{F3}

Arrays: A literal representation is not available for arrays. However, arrays can be created from other literals using the ARRAY function: For example, ARRAY(3,5,6), ARRAY("Hello",2.3,9). These functions create 3 element arrays with the integer elements 3, 5, and 6 in the first example and the string element "Hello", double element 2.3, and integer element 9 in the second example.

Functions: A literal representation is not available for functions. Functions are defined using the FUNCTION keyword and accessed via variable ids. For example, ASSIGN/Add2=FUNCTION((X),X+2) defines a function that takes one argument and adds 2 to it. The variable Add2 is assigned the function. The function can be called using the variable Add2 as follows. ASSIGN/Result=Add2(5). Result is assigned the value 7.

Numeric Literals are interpreted as real numbers unless the operator or function implies the use of integers. For example, the expression 10 / 8 evaluates to 1.25 instead of 1. Note also that discrete division is also possible via the operand coercion operators. The expression INT(10) / INT(8) does evaluate to 1.