Commit | Line | Data |
---|---|---|
b4fb89ea KM |
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 | .\" | |
57349e41 | 5 | .\" @(#)a.t 6.2 (Berkeley) %G% |
b4fb89ea | 6 | .\" |
57349e41 | 7 | .\".ds RH "Configuration File Grammar |
b4fb89ea | 8 | .bp |
b4fb89ea KM |
9 | .LG |
10 | .B | |
11 | .ce | |
12 | APPENDIX A. CONFIGURATION FILE GRAMMAR | |
57349e41 | 13 | .sp |
b4fb89ea KM |
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 | ||
57349e41 MK |
75 | Mkopt_list ::= Mkoption [ \fB,\fP Mkoption ]* |
76 | ||
77 | Mkoption ::= ID \fB=\fP Opt_value | |
78 | ||
b4fb89ea KM |
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. |