.\" This file is part of grecs -*- nroff -*- .\" Copyright (C) 2007-2016 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 . .\" .TH GRECS_STMT_PATH 5 "May 4, 2011" "GRECS" "Grecs User Reference" .SH NAME Statement pathname \- a unique identifier of a statement in \fBgrecs\fR configuration file. .SH DESCRIPTION \fBGrecs\fR configuration files have a distinct hierarchical structure. Each statement in such a file can therefore be identified by its name and the names of block statements containing it. Such names form this statement \fIpathname\fR, similar to that used, e.g. by UNIX file system. .PP For example, consider the following file: .sp .nf .in +2 foo { bar { baz 45; # \fBA\fR. } baz 98; # \fBB\fR. } .fi .PP The full pathname of the statement marked with \fBA\fR can be written as: .sp .nf .in +2 .foo.bar.baz .fi .PP Similarly, the statement marked with \fBB\fR has the following pathname: .sp .nf .in +2 .foo.baz .fi .PP The default path component separator is dot. A pathname beginning with a component separator is called an \fIabsolute pathname\fR. Absolute pathnames uniquely identify corresponding statements. If the leading dot is omitted, the resulting pathname is called \fIrelative\fR. Relative pathnames identify statements in relation to the current point of reference in the configuration file. .PP Any other punctuation character can be used as a component separator, provided that it appears at the beginning of the pathname. In other words, only absolute pathnames can be written this way. .PP A block statement that has a tag is referred to by its name, followed by an equals sign, followed by the tag value. For example, the statement \fBA\fR in the file below: .sp .nf .in +2 program x { bar { baz 45; # \fBA\fR. } } .fi .PP is identified by the following pathname: .sp .nf .in +2 .program=x.bar.baz .fi .PP The tag can optionally be enclosed in a pair of double quotes. Such a quoting becomes mandatory for tags that contain white space or path component separator, e.g.: .sp .nf .in +2 .program=\(dqa.out\(dq.bar.baz .fi .SH "SEE ALSO" .BR grecs_config (5). .SH AUTHORS Sergey Poznyakoff .SH "BUG REPORTS" Report bugs to . .SH COLOPHON The \fBGrecs\fR library is constantly changing, so this manual page may be incorrect or out-of-date. For the latest copy of \fBGrecs\fR documentation, visit . .SH COPYRIGHT Copyright \(co 2011 Sergey Poznyakoff .br .na License GPLv3+: GNU GPL version 3 or later .br .ad This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. .\" Local variables: .\" eval: (add-hook 'write-file-hooks 'time-stamp) .\" time-stamp-start: ".TH [A-Z_][A-Z0-9_]* [0-9] \"" .\" time-stamp-format: "%:B %:d, %:y" .\" time-stamp-end: "\"" .\" time-stamp-line-limit: 20 .\" end: