Lines Matching +full:bl +full:- +full:manifest +full:- +full:offset
1 .\" Copyright (C) Caldera International Inc. 2001-2002. All rights reserved.
38 The C Programming Language - Reference Manual
47 by Brian W. Kernighan and Dennis M. Ritchie, Prentice-Hall, Inc., 1978.
51 .EH 'PSD:6-%''The C Programming Language - Reference Manual'
52 .OH 'The C Programming Language - Reference Manual''PSD:6-%'
56 This manual describes the C language on the DEC PDP-11\(dg, the DEC VAX-11,
59 \(dg DEC PDP-11, and DEC VAX-11 are trademarks of Digital Equipment Corporation.
65 out implementation-dependent details. With few exceptions, these dependencies
71 There are six classes of tokens\ -\
108 eight characters of a non-external name, and perhaps
116 PDP-11 7 characters, 2 cases
117 VAX-11 >100 characters, 2 cases
267 A new-line character is illegal in a character constant.
346 DEC PDP\-11 DEC VAX-11 AT&T 3B
356 float range \(+-10 \(+-38 \(+-10 \(+-38 \(+-10 \(+-38
358 double range \(+-10 \(+-38 \(+-10 \(+-38 \(+-10 \(+-308
361 .\" .FG 4 4 1 "DEC PDP-11 HARDWARE CHARACTERISTICS"
380 { \fIexpression\v'0.5'\s-2opt\s0\v'-0.5'\fR }
404 .\" The original text had borrowed BL, LI and LE from the mm macros.
480 2\v'-0.5'\fIn\fR\v'0.5'
483 PDP-11,
486 Single-precision floating point
616 Whether or not sign-extension occurs for characters is machine
618 standard character set is non-negative.
621 PDP-11
623 VAX-11
624 sign-extend.
643 set are all non-negative.
728 integer (modulo 2\v'-0.3'\s-2wordsize\s+2\v'0.3').
839 Left- or right-associativity is specified
871 division by 0 and all floating-point exceptions
883 \fIprimary-expression:
888 primary-expression [ expression ]
889 primary-expression ( expression-list\v'0.5'\s-2opt\s0\v'-0.5' )
890 primary-expression . identifier
891 primary-expression \(mi> identifier\fR
894 \fIexpression-list:
896 expression-list , expression\fR
912 when used except in the function-name position
987 empty, comma-separated list of expressions
998 thus in the most common case, integer-valued functions
1090 \fIunary-expression:
1100 ( type-name ) expression\fR
1102 sizeof\fI ( type-name )\fR
1141 2\v'-0.5'\fIn\fR\^\v'0.5' where \fIn\fR\^ is the number of bits in
1283 \fBsizeof(\fItype\|\fB)-2\fR
1285 \fB(sizeof(\fItype\|\fB))-2\fR.
1332 but the form of truncation is machine-dependent
1364 \fIadditive-expression:
1378 an address offset
1385 appropriately offset from the original object.
1427 the pointed-to objects.
1455 \fIshift-expression:
1469 pattern) left-shifted
1483 right-shifted
1503 \fIrelational-expression:
1533 of the pointed-to objects.
1540 \fIequality-expression:
1579 Bitwise \s-1AND\s0 Operator
1582 \fIand-expression:
1603 Bitwise Exclusive \s-1OR\s0 Operator
1605 \fIexclusive-or-expression:
1628 Bitwise Inclusive \s-1OR\s0 Operator
1630 \fIinclusive-or-expression:
1651 Logical \s-1AND\s0 Operator
1653 \fIlogical-and-expression:
1681 Logical \s-1OR\s0 Operator
1683 \fIlogical-or-expression:
1714 \fIconditional-expression:
1745 \fIassignment-expression:
1799 \fIcomma-expression:
1829 decl-specifiers declarator-list\v'0.5'\s-2opt\s0\v'-0.5' ;\fR
1832 The declarators in the declarator-list
1834 The decl-specifiers
1837 \fIdecl-specifiers:
1838 type-specifier decl-specifiers\v'0.5'\s-2opt\s0\v'-0.5'
1839 sc-specifier decl-specifiers\v'0.5'\s-2opt\s0\v'-0.5'\fR
1842 The list must be self-consistent in a way described below.
1846 The sc-specifiers are:
1848 \fIsc-specifier:\fB
1897 PDP-11,
1904 the address-of operator
1914 At most, one sc-specifier may be given in a declaration.
1915 If the sc-specifier is missing from a declaration, it
1931 The type-specifiers are
1933 \fItype-specifier:
1934 struct-or-union-specifier
1935 typedef-name
1936 enum-specifier
1937 basic-type-specifier:
1938 basic-type
1939 basic-type basic-type-specifiers
1940 basic-type:\fB
1961 Otherwise, at most on type-specifier may be
1966 If the type-specifier is missing from a declaration,
1979 The declarator-list appearing in a declaration
1980 is a comma-separated sequence of declarators,
1983 \fIdeclarator-list:
1984 init-declarator
1985 init-declarator , declarator-list
1988 \fIinit-declarator:
1989 declarator initializer\v'0.5'\s-2opt\s0\v'-0.5'\fR
2003 declarator [ constant-expression\v'0.5'\s-2opt\s0\v'-0.5' ]\fR
2036 is a type-specifier (like
2098 \fBD\|[\|\fIconstant-expression\fB\|]\fR
2218 declares a static 3-dimensional array of integers,
2251 \fIstruct-or-union-specifier:
2252 struct-or-union { struct-decl-list }
2253 struct-or-union identifier { struct-decl-list }
2254 struct-or-union identifier
2257 \fIstruct-or-union:\fB
2263 struct-decl-list
2267 \fIstruct-decl-list:
2268 struct-declaration
2269 struct-declaration struct-decl-list
2272 \fIstruct-declaration:
2273 type-specifier struct-declarator-list ;
2276 \fIstruct-declarator-list:
2277 struct-declarator
2278 struct-declarator , struct-declarator-list\fR
2281 In the usual case, a struct-declarator is just a declarator
2289 a non-negative constant expression,
2292 \fIstruct-declarator:
2294 declarator : constant-expression
2295 : constant-expression\fR
2314 PDP-11
2316 VAX-11,
2319 A struct-declarator with no declarator, only a colon and a width,
2321 to externally-imposed layouts.
2336 PDP-11,
2339 VAX-11,
2352 and the address-of operator
2360 begin at offset 0 and whose size is sufficient to contain
2367 \fBstruct \fIidentifier { struct-decl-list \fR}
2368 \fBunion \fIidentifier { struct-decl-list \fR}
2384 Structure tags allow definition of self-referential
2442 \fBsp->count\fR
2463 \fBs.right->tword[0]\fR
2480 \fIenum-specifier:\fB
2481 enum\fI { enum-list \fR}\fB
2482 enum \fIidentifier { enum-list \fR}\fB
2485 enum-list:
2487 enum-list , enumerator
2491 identifier = constant-expression\fR
2494 The identifiers in an enum-list are declared as constants
2513 The role of the identifier in the enum-specifier
2515 in a struct-specifier; it names a particular enumeration.
2532 the enumeration-tag of a type describing various colors,
2558 = { initializer-list }
2559 = { initializer-list , }
2562 \fIinitializer-list:
2564 initializer-list , initializer-list\fR
2565 { \fIinitializer-list \fR}
2566 { \fIinitializer-list\fR , }
2573 declared variable, possibly offset by a constant expression.
2596 the initializer consists of a brace-enclosed, comma-separated list of
2607 the succeeding comma-separated list of initializers initializes
2633 as a one-dimensional array which has three members, since no size was specified
2644 is a completely-bracketed initialization:
2706 (regarded as a two-dimensional array)
2728 \fItype-name:
2729 type-specifier abstract-declarator
2732 \fIabstract-declarator:
2734 ( abstract-declarator )
2735 \(** abstract-declarator
2736 abstract-declarator ()
2737 abstract-declarator\fR\^ [ \fIconstant-expression\v'0.5'\s-2opt\s0\v'-0.5' \fR\^]
2743 \fI( abstract-declarator \fR)
2747 abstract-declarator
2750 it is possible to identify uniquely the location in the abstract-declarator
2784 \fItypedef-name:\fR
2836 does not introduce brand-new types, only synonyms for
2870 \fIcompound-statement:
2871 { declaration-list\v'0.5'\s-2opt\s0\v'-0.5' statement-list\v'0.5'\s-2opt\s0\v'-0.5' }
2874 \fIdeclaration-list:
2876 declaration declaration-list
2879 \fIstatement-list:
2881 statement statement-list\fR
2885 in the declaration-list were previously declared,
2934 \fBelse\fR-less
2980 \fBfor\fI ( exp-1\v'0.5'\s-2opt\s0\v'-0.5' ; exp-2\v'0.5'\s-2opt\s0\v'-0.5' ; exp-3\v'0.5'\s-2opt\s…
2987 \fIexp-1 \fR;
2988 \fBwhile\fR\^ ( \fIexp-2\ ) \fR\^
2991 exp-3 ;\fR
3006 exp-2
3042 \fBcase \fIconstant-expression \fR:
3127 causes control to pass to the loop-continuation portion of the
3244 The type-specifier (see ``Type Specifiers'' in
3261 \fIfunction-definition:
3262 decl-specifiers\v'0.5'\s-2opt\s0\v'-0.5' function-declarator function-body\fR
3265 The only sc-specifiers
3267 among the decl-specifiers
3281 \fIfunction-declarator:
3282 declarator ( parameter-list\v'0.5'\s-2opt\s0\v'-0.5' )
3285 \fIparameter-list:
3287 identifier , parameter-list\fR
3290 The function-body
3293 \fIfunction-body:
3294 declaration-list\v'0.5'\s-2opt\s0\v'-0.5' compound-statement\fR
3325 is the type-specifier;
3329 is the function-declarator;
3333 is the declaration-list for
3369 \fIdata-definition:
3489 comprising a multi-file program.
3491 for any external non-function identifier;
3505 comprising a mult-file program.
3539 A compiler-control line of the form
3541 \fB#define \fIidentifier token-string\v'0.5'\s-2opt\s0\v'-0.5'\fR
3546 Semicolons in or at the end of the token-string are part of that string.
3549 \fB#define \fIidentifier(identifier, ... )token-string\v'0.5'\s-2opt\s0\v'-0.5'\fR
3570 Strings and character constants in the token-string are scanned
3586 This facility is most valuable for definition of ``manifest constants,''
3604 the two token-strings are compared textually.
3605 If the two token-strings are not identical
3643 \fB#if \fIrestricted-constant-expression\fR
3646 checks whether the restricted-constant expression evaluates to nonzero.
3667 All currently defined identifiers in restricted-constant-expressions
3668 are replaced by their token-strings (except those identifiers
3814 of the \fB->\fR or the \fB.\fR
3861 expression not in the function-name position of a call,
3941 E2-th
3958 \fIn\fR-dimensional
3967 a pointer to an (n-1)-dimensional
3977 the result is the pointed-to (n-1)-dimensional array,
3995 to a pointer to (the first of three) 5-membered arrays of integers.
4016 namely 5-integer objects.
4024 row-wise (last subscript varies fastest)
4033 but have implementation-dependent aspects.
4034 They are all specified by means of an explicit type-conversion
4068 a storage-allocation routine
4088 must ensure (in a machine-dependent way)
4099 PDP-11
4100 corresponds to a 16-bit integer and
4108 VAX-11,
4115 quantities need be aligned only on even 4-byte boundaries.
4119 The 3B 20 computer has 24-bit pointers placed into 32-bit quantities.
4121 aligned on 4-byte boundaries. \fBShort\fRs are aligned in all cases on
4122 2-byte boundaries. Arrays of characters, all structures,
4123 \fBint\fR\^s, \fBlong\fR\^s, \fBfloat\fR\^s, and \fBdouble\fR\^s are aligned on 4-byte
4189 is not meant to be all-inclusive
4251 pointer and inspecting the pointed-to storage)
4252 but must be accounted for when conforming to externally-imposed
4280 \fBsizeof (\fItype-name\fB)\fI
4281 ( type-name ) expression
4293 primary ( expression-list\v'0.5'\s-2opt\s0\v'-0.5' )
4309 The primary-expression operators
4318 \(** & \(mi ! \s+2~\s0 \(pl\(pl \(mi\(mi \fBsizeof\fI ( type-name \fR)
4357 decl-specifiers init-declarator-list\v'0.5'\s-2opt\s0\v'-0.5' ;
4360 \fIdecl-specifiers:
4361 type-specifier decl-specifiers\v'0.5'\s-2opt\s0\v'-0.5'
4362 sc-specifier decl-specifiers\v'0.5'\s-2opt\s0\v'-0.5'
4365 \fIsc-specifier:\fB
4373 \fItype-specifier:
4374 struct-or-union-specifier
4375 typedef-name
4376 enum-specifier
4377 basic-type-specifier:
4378 basic-type
4379 basic-type basic-type-specifiers
4380 basic-type:\fB
4391 \fIenum-specifier:\fB
4392 enum\fI { enum-list }\fB
4393 enum \fIidentifier { enum-list }\fB
4397 \fIenum-list:
4399 enum-list , enumerator
4404 identifier = constant-expression
4407 \fIinit-declarator-list:
4408 init-declarator
4409 init-declarator , init-declarator-list
4412 \fIinit-declarator:
4413 declarator initializer\v'0.5'\s-2opt\s0\v'-0.5'
4421 declarator [ constant-expression\v'0.5'\s-2opt\s0\v'-0.5' ]
4424 \fIstruct-or-union-specifier:\fB
4425 struct\fI { struct-decl-list }\fB
4426 struct \fIidentifier { struct-decl-list }\fB
4428 union { \fIstruct-decl-list }\fB
4429 union \fIidentifier { struct-decl-list }\fB
4433 \fIstruct-decl-list:
4434 struct-declaration
4435 struct-declaration struct-decl-list
4438 \fIstruct-declaration:
4439 type-specifier struct-declarator-list ;
4442 \fIstruct-declarator-list:
4443 struct-declarator
4444 struct-declarator , struct-declarator-list
4447 \fIstruct-declarator:
4449 declarator : constant-expression
4450 : constant-expression
4455 = { initializer-list }
4456 = { initializer-list , }
4459 \fIinitializer-list:
4461 initializer-list , initializer-list
4462 { initializer-list }
4463 { initializer-list , }
4466 \fItype-name:
4467 type-specifier abstract-declarator
4470 \fIabstract-declarator:
4472 ( abstract-declarator )
4473 \(** abstract-declarator
4474 abstract-declarator ()
4475 abstract-declarator [ constant-expression\v'0.5'\s-2opt\s0\v'-0.5' ]
4478 \fItypedef-name:
4486 \fIcompound-statement:
4487 { declaration-list\v'0.5'\s-2opt\s0\v'-0.5' statement-list\v'0.5'\s-2opt\s0\v'-0.5' }
4490 \fIdeclaration-list:
4492 declaration declaration-list
4495 \fIstatement-list:
4497 statement statement-list
4501 compound-statement
4507 …\fBfor\fI (exp\v'0.3'\s-2opt\s0\v'-0.3'\fB;\fIexp\v'0.3'\s-2opt\s0\v'-0.3'\fB;\fIexp\v'0.3'\s-2opt…
4509 \fBcase\fI constant-expression : statement
4525 external-definition
4526 external-definition program
4529 \fIexternal-definition:
4530 function-definition
4531 data-definition
4534 \fIfunction-definition:
4535 decl-specifier\v'0.5'\s-2opt\s0\v'-0.5' function-declarator function-body
4538 \fIfunction-declarator:
4539 declarator ( parameter-list\v'0.5'\s-2opt\s0\v'-0.5' )
4542 \fIparameter-list:
4544 identifier , parameter-list
4547 \fIfunction-body:
4548 declaration-list\v'0.5'\s-2opt\s0\v'-0.5' compound-statement
4551 \fIdata-definition:
4558 \fB#define\fI identifier token-string\v'0.3'\s-2opt\s0\v'-0.3'\fB
4559 … \fB#define\fI identifier\fB(\fIidentifier\fB,...)\fItoken-string\v'0.5'\s-2opt\s0\v'-0.5'\fB
4563 \fB#if\fI restricted-constant-expression\fB