
  CFL - Configuration File Library
  $Id: grammar.txt,v 1.6 2003/06/03 13:11:44 ndarnis Exp $
  ____________________________________________________________________

  This file describe the grammar of the files accepted by CFL.

  Everything after a '#' or after a ';' is completely ignored and 
  treated as a comment.

  A configuration file could contains any number of sections.

  Each section could be empty or not but its header must exists.

  A section header is of the form '[section_name]', where 'section_name'
  is an identifier.

  If a section is no empty, it must contains a list of one or more 
  variables definition.

  A variable definition is composed of a variable name, followed by '='
  followed by a value.

  A value could be integer like '567', or float like '3.141592653', or
  boolean like 'TRUE' or 'FALSE', or string like '"my string"'. Each
  string must be surrounded by '"' if it contains spaces.

  An identifier must be alphanumerical and must starts by a letter. It  
  could contains spaces (' ' or '\t'), (dot) '.', '-', or underscore ('_').

  A variable name is the same than identifiers excepts that it can be
  followed by an integer between brackets, eventually followed by another
  identifier.

  A string could contains any character.

  CFL interprets the values types as explained above.

  Please, see *.cfg files in src/ directory to view examples of valid 
  files. 
 
  