Language Reference/Constants

From wiki.visual-prolog.com

< Language Reference

Revision as of 14:16, 15 September 2008 by Thomas Linder Puls (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

Constants Sections

A constants section defines a set of constants in the current scope.

ConstantsSection :
    constants ConstantDefinition-dot-term-list-opt

Constant Definitions

A constant definition defines a named constant, its type, and its value.

ConstantDefinition:
    ConstantName = ConstantValue
ConstantDefinition :    ConstantName : TypeName = ConstantValue
ConstantName:
 
    LowerCaseIdentifier

The ConstantValue should be an expression, which can be evaluated at compile time and it should have the type of the correspondent domain. The ConstantName should be a lower case identifier lowerCaseIdentifier.

If the typeName is omitted, then the constant domain must be univocally determined by the ConstantValue expression. The typeName can be omitted only for the following built-in domains:

  1. Numerical (i.e. integral or real) constants. In this case, the corresponding anonymous numerical domain is adopted for a constant (see the numerical domains for details).
  2. Binary constants.
  3. String constants.
  4. Character constants.

Examples:

constants
    my_char = 'a'.
    true_const : boolean = true.
    binaryFileName = "mybin".
    myBinary = #bininclude(binaryFileName).