|
|
1.1 root 1: .\" Copyright (c) 1983 Regents of the University of California.
2: .\" All rights reserved. The Berkeley software License Agreement
3: .\" specifies the terms and conditions for redistribution.
4: .\"
5: .\" @(#)a.t 6.2 (Berkeley) 6/3/86
6: .\"
7: .\".ds RH "Configuration File Grammar
8: .bp
9: .LG
10: .B
11: .ce
12: APPENDIX A. CONFIGURATION FILE GRAMMAR
13: .sp
14: .R
15: .NL
16: .PP
17: The following grammar is a compressed form of the actual
18: \fIyacc\fP\|(1) grammar used by
19: .I config
20: to parse configuration files.
21: Terminal symbols are shown all in upper case, literals
22: are emboldened; optional clauses are enclosed in brackets, ``[''
23: and ``]''; zero or more instantiations are denoted with ``*''.
24: .sp
25: .nf
26: .DT
27: Configuration ::= [ Spec \fB;\fP ]*
28:
29: Spec ::= Config_spec
30: | Device_spec
31: | \fBtrace\fP
32: | /* lambda */
33:
34: /* configuration specifications */
35:
36: Config_spec ::= \fBmachine\fP ID
37: | \fBcpu\fP ID
38: | \fBoptions\fP Opt_list
39: | \fBident\fP ID
40: | System_spec
41: | \fBtimezone\fP [ \fB\-\fP ] NUMBER [ \fBdst\fP [ NUMBER ] ]
42: | \fBtimezone\fP [ \fB\-\fP ] FPNUMBER [ \fBdst\fP [ NUMBER ] ]
43: | \fBmaxusers\fP NUMBER
44:
45: /* system configuration specifications */
46:
47: System_spec ::= \fBconfig\fP ID System_parameter [ System_parameter ]*
48:
49: System_parameter ::= swap_spec | root_spec | dump_spec | arg_spec
50:
51: swap_spec ::= \fBswap\fP [ \fBon\fP ] swap_dev [ \fBand\fP swap_dev ]*
52:
53: swap_dev ::= dev_spec [ \fBsize\fP NUMBER ]
54:
55: root_spec ::= \fBroot\fP [ \fBon\fP ] dev_spec
56:
57: dump_spec ::= \fBdumps\fP [ \fBon\fP ] dev_spec
58:
59: arg_spec ::= \fBargs\fP [ \fBon\fP ] dev_spec
60:
61: dev_spec ::= dev_name | major_minor
62:
63: major_minor ::= \fBmajor\fP NUMBER \fBminor\fP NUMBER
64:
65: dev_name ::= ID [ NUMBER [ ID ] ]
66:
67: /* option specifications */
68:
69: Opt_list ::= Option [ \fB,\fP Option ]*
70:
71: Option ::= ID [ \fB=\fP Opt_value ]
72:
73: Opt_value ::= ID | NUMBER
74:
75: Mkopt_list ::= Mkoption [ \fB,\fP Mkoption ]*
76:
77: Mkoption ::= ID \fB=\fP Opt_value
78:
79: /* device specifications */
80:
81: Device_spec ::= \fBdevice\fP Dev_name Dev_info Int_spec
82: | \fBmaster\fP Dev_name Dev_info
83: | \fBdisk\fP Dev_name Dev_info
84: | \fBtape\fP Dev_name Dev_info
85: | \fBcontroller\fP Dev_name Dev_info [ Int_spec ]
86: | \fBpseudo-device\fP Dev [ NUMBER ]
87:
88: Dev_name ::= Dev NUMBER
89:
90: Dev ::= \fBuba\fP | \fBmba\fP | ID
91:
92: Dev_info ::= Con_info [ Info ]*
93:
94: Con_info ::= \fBat\fP Dev NUMBER
95: | \fBat\fP \fBnexus\fP NUMBER
96:
97: Info ::= \fBcsr\fP NUMBER
98: | \fBdrive\fP NUMBER
99: | \fBslave\fP NUMBER
100: | \fBflags\fP NUMBER
101:
102: Int_spec ::= \fBvector\fP ID [ ID ]*
103: | \fBpriority\fP NUMBER
104: .fi
105: .sp
106: .SH
107: Lexical Conventions
108: .LP
109: The terminal symbols are loosely defined as:
110: .IP ID
111: .br
112: One or more alphabetics, either upper or lower case, and underscore,
113: ``_''.
114: .IP NUMBER
115: .br
116: Approximately the C language specification for an integer number.
117: That is, a leading ``0x'' indicates a hexadecimal value,
118: a leading ``0'' indicates an octal value, otherwise the number is
119: expected to be a decimal value. Hexadecimal numbers may use either
120: upper or lower case alphabetics.
121: .IP FPNUMBER
122: .br
123: A floating point number without exponent. That is a number of the
124: form ``nnn.ddd'', where the fractional component is optional.
125: .LP
126: In special instances a question mark, ``?'', can be substituted for
127: a ``NUMBER'' token. This is used to effect wildcarding in device
128: interconnection specifications.
129: .LP
130: Comments in configuration files are indicated by a ``#'' character
131: at the beginning of the line; the remainder of the line is discarded.
132: .LP
133: A specification
134: is interpreted as a continuation of the previous line
135: if the first character of the line is tab.
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.