Skip to main content

Symbols Used in Caché Basic

A table of characters used in Caché Basic as operators, etc.

Table of Symbols

The following are the literal symbols used in Caché Basic. (This list does not include symbols indicating format conventions, which are not part of the language.) There is a separate table for symbols used in ObjectScript.

The name of each symbol is followed by its ASCII decimal code value.

Symbol Name and Usage
[space] or [tab] White space (Tab (9) or Space (32)): One or more whitespace characters between keywords, identifiers, and variables.

Quotes (34): Used to enclose string literals.

In Dynamic SQL used to enclose the SQL code as a string argument of the Prepare method.

"" Double quotes: Used to specify an empty string. Within a string literal, used to specify a literal double quote character.
% Percent sign (37): Permitted first character in identifier names, such as variables, methods, and datatypes.

Ampersand (38): String concatenation operator.

Numeric base prefix with Hex (&H) and Oct (&O) functions.

' Apostrophe (39): Single-line comment indicator.
( )

Parentheses (40,41): Used to enclose a procedure or function parameter list.

Used to nest expressions; nesting overrides the default order of operator precedence.

Used to specify array subscripts.

Enclose a test expression for an If, While, or in-line Case command.

* Asterisk (42): Multiplication operator.
+ Plus sign (43): Addition operator.

Comma (44): Used to separate parameters in a procedure or function parameter list.

Used to separate subscripts in an array.

With Const and Dim commands, used to separate multiple assignments.

Minus sign (45): Unary arithmetic negative operator.

Subtraction operator.


Period (46): Decimal point character.

A valid character in global or process-private global names. Cannot be used in local variable names.

Object dot syntax used to refer to a method or property of an object: person.Name.

/ Slash (47): Division operator (keep remainder).

Colon (58): Label suffix. For example, LabelOne:.

Statement divider, used to separate multiple statements on the same line. For example, Print a : Print b.

With Case function, used to associate case:value pairs.

< Less than (60): Less than operator.
<= Less than or equal to: Less than or equal to operator.
<> Less than/Greater than: Inequality operator.

Equal sign (61): Equals comparison operator.

Assignment operator.

> Greater than (62): Greater than operator.
>= Greater than or equal to: Greater than or equal to operator.
? Question mark (63): In Dynamic SQL, an input parameter variable supplied by the Execute method.
@ At sign (64): Calling function syntax: func@Routine(args).
E, e The letter “E” (69, 101): Base-10 exponent (scientific notation) numeric literal.
\ Backslash (92): Integer division operator (drop remainder).

Caret (94): Global variable name prefix; for example, ^myglobal.

Exponentiation operator.


Caret bar: depending on the character(s) that follow, this may be either:

An extended global reference, a global reference where a pair of bars encloses a null string, or a quoted namespace or directory name. The bars and their contents are not part of the global name. For example: ^|""|globname, or ^|"namespace"|globname.

A process-private global with the prefix ^||. The bars are part of the process-private global name. For example, ^||ppgname. Also valid as syntax for this process-private global: ^|"^"|ppgname.


Underscore (95): Line continuation character. A line ending with an underscore continues on next line. Commonly preceded by one or more blank spaces.

A valid character in local variable names or routine names. Cannot be used in global variable or process-private global variable names.

{ } Curly braces (123,125): Code block delimiters used in procedures.

FeedbackOpens in a new tab