Difference between revisions of "Language Reference/Constants"

From wiki.visual-prolog.com
(→‎Constant Definitions: BNF plus remove strange sentence)
m (Example Template)
Line 28: Line 28:
#{{lang2|Built-in_entities|char|Character}} constants.
#{{lang2|Built-in_entities|char|Character}} constants.


'''Examples''':
{{Example|
 
<vip>constants
<vip>constants
     my_char = 'a'.
     my_char = 'a'.
Line 35: Line 34:
     binaryFileName = "mybin".
     binaryFileName = "mybin".
     myBinary = #bininclude(binaryFileName).</vip>
     myBinary = #bininclude(binaryFileName).</vip>
}}

Revision as of 10:55, 5 November 2008

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: one of
    ConstantName = ConstantValue
    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.

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.
Example
constants
    my_char = 'a'.
    true_const : boolean = true.
    binaryFileName = "mybin".
    myBinary = #bininclude(binaryFileName).