26.4. Example

Example 26.1. Registry configuration file syntax
# Beginning of the first section; note that a section declaration must
# come BEFORE the first variable definition!!!

[ ]
host_name : string = "atrey.karlin.mff.cuni.cz"
    # Defines a host_name variable in the root node of the registry.


# Beginning of the second section
[ foo_vars ]
foo_var_x : int = 13
    # Defines a foo_var_x variable in the foo_vars subnode of the root 
    # node.

foo/foo_var_y : largeint = 33333333333333
    # Defines foo_vars/foo/foo_var_y variable.

link_foo_foo_var_y : symlink = foo_vars/foo/foo_var_y
    # Defines a symbolic link to foo_vars/foo/foo_var_y variable.
    # Note that full path must be specified; thus, line
    #           foo/foo_var_y
    # wouldn't be correct as it wouldn't refer to the right variable.


# Beginning of the third section
[ bool_vars ]
var_true : boolean = true
var_false : boolean = false
    # This is how logical values are specified. Just 0 or 1 wouldn't
    # be sufficient.

# Note: we do not implement a strict syntax checking; thus, even the 
#       following lines are correct (comments shows the equivalent 
#       lines):
var_correct1 : boolean : false = true
    #   Everything between the 'type' field and the first '=' 
    #   character is ignored. Thus, the line above has the same 
    #   meaning as
    #     var_correct1 : boolean = true

var_correct2 ignored : boolean = false ignored
    #   Everything between the 'variable_path/variable_name' and the 
    #   first ':' character is ignored. Similary, all that is after 
    #   the 'value' field is also ignored. Thus, the line above has
    #   the same meaning as
    #     var_correct2 : boolean = false