summaryrefslogtreecommitdiffabout
path: root/doc/grecs_stmt_path.5
blob: e8dcb7138fac56be25e1140d2a79a4177b75997e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
.\" This file is part of grecs -*- nroff -*-
.\" Copyright (C) 2007, 2009-2012, 2015 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/>.
.\"
.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 <gray+grecs@gnu.org.ua>.
.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 <http://www.gnu.org.ua/software/grecs>.
.SH COPYRIGHT
Copyright \(co 2011 Sergey Poznyakoff
.br
.na
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
.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:

Return to:

Send suggestions and report system problems to the System administrator.