libconfig 0.1.3

A library to parse and load configuration files
Documentation
# Shows an example configuration file
// One-line comments can start with # or //

/* There's also support for
 * multi-line block comments
 */

application:
{
  // window settings
  window:
  {
    title = "My Application";
    size = { /* width */ w = 640; /* height */ h = 480; };
    pos = { x = 350; y = 250; };
  };

  a = 5;
  b = 6;
  ff = 1.E6;

  test-comment = "/* hello\n \"there\"*/";
  test-escaped-string = "\"This is\n a test.\"";

  test-long-string = "A very long string that spans multiple lines. "
  /* but wait, there's more... */ "Adjacent strings are automatically"
  " conca" // Guess the word?
  "tenated.";

  group1:
  {
    x = 5;  y = 10;
    my_array = [ 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22 ];
    flag = TRUE;

    group2: { zzz = "this is a test"; };

    states = [	"CT", // Connecticut
		"CA", // California
		"TX", // Texas
		"NV", // Nevada
		"FL" // Florida
    ];
  };

};

list = ( ( "abc", 123, true ), 1.234, ( /* an empty list */ ) ,[ 1, 2, 3 ],
	   { a = (1, 2, true); } );

books = ( "inventory",
          { title  = "Treasure Island";
            author = "Robert Louis Stevenson";
            price  = 29.99;
            qty    = 5; },
          { title  = "Snow Crash";
            author = "Neal Stephenson";
            price  = 9.99;
            qty    = 8; });

# miscellaneous stuff

misc:
{
  port = 5000;
  pi = 3.14159265;
  enabled = FALSE;
  unicode = "STARGΛ̊TE SG-1"; // UTF-8!!!
  bigint = 9223372036854775807L;
};


### eof