summaryrefslogtreecommitdiffabout
path: root/tests/gcf1.conf
authorSergey Poznyakoff <gray@gnu.org.ua>2011-05-03 14:49:29 (GMT)
committer Sergey Poznyakoff <gray@gnu.org.ua>2011-05-03 18:23:21 (GMT)
commit3d679b3df641f59fb81ca1651799f4e2965ed67e (patch) (side-by-side diff)
tree5a614ee25cff44d015ee9e6f6920e2ba19379bba /tests/gcf1.conf
parent24ec67c9f6375d34d88e79981ed8abbe15a78169 (diff)
downloadgrecs-3d679b3df641f59fb81ca1651799f4e2965ed67e.tar.gz
grecs-3d679b3df641f59fb81ca1651799f4e2965ed67e.tar.bz2
Switch to the two-layer model. Add testsuite.
The configuration file parser creates a syntax tree. This step does not require any knowledge about which keywords are allowed. The user can then either use that tree directly, or post-process it using parser tables. The latter approach is equivalent to previous versions of grecs.
Diffstat (limited to 'tests/gcf1.conf') (more/less context) (show whitespace changes)
-rw-r--r--tests/gcf1.conf54
1 files changed, 54 insertions, 0 deletions
diff --git a/tests/gcf1.conf b/tests/gcf1.conf
new file mode 100644
index 0000000..991fb9b
--- a/dev/null
+++ b/tests/gcf1.conf
@@ -0,0 +1,54 @@
+# This file is part of grecs - Gray's Extensible Configuration System
+# Copyright (C) 2007, 2009-2011 Sergey Poznyakoff
+#
+# Grecs is free software; you can redistribute it and/or modify
+# it under the terms of the GNU General Public License as published by
+# the Free Software Foundation; either version 3, or (at your option)
+# any later version.
+#
+# Grecs is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with Grecs. If not, see <http://www.gnu.org/licenses/>.
+
+/* Scalar variable.
+*/
+scalar yes;
+
+// List variable.
+listvar ("a", 2, "b", "c");
+
+# Compound value.
+compound stmt 2 foo;
+
+mailbox {
+ mailbox-pattern "maildir:/var/mail;type=index;param=2;user=${user}";
+ mailbox-type "maildir";
+};
+
+logging {
+ syslog yes;
+ facility mail;
+}
+
+program "foo" {
+ logging {
+ syslog yes;
+ facility local1;
+ }
+ scalar no;
+}
+
+program "bar" {
+ logging {
+ syslog no;
+ facility local2;
+ tag "baz";
+ }; # Note: semicolon after closing brace is optional.
+ scalar 25;
+}
+
+ \ No newline at end of file

Return to:

Send suggestions and report system problems to the System administrator.