X-Git-Url: https://git.distorted.org.uk/~mdw/sod/blobdiff_plain/9ed8eb2a733b394af7e956708f2d6aa6a85e526a..9e91c8e7b5fcdeb6389ac7ccbcd9c77348c4493a:/src/sod-module.5 diff --git a/src/sod-module.5 b/src/sod-module.5 index 44f7f8a..21a9fee 100644 --- a/src/sod-module.5 +++ b/src/sod-module.5 @@ -7,7 +7,7 @@ . .\"----- Licensing notice --------------------------------------------------- .\" -.\" This file is part of the Sensble Object Design, an object system for C. +.\" This file is part of the Sensible Object Design, an object system for C. .\" .\" SOD is free software; you can redistribute it and/or modify .\" it under the terms of the GNU General Public License as published by @@ -480,7 +480,7 @@ any character other than newline .B code .I identifier .B -.I identifier +.I item-name .RI [ constraints ] .B { .I c-fragment @@ -494,7 +494,15 @@ any character other than newline .br .I constraint ::= +.IR item-name \*+ +.br +.I item-name +::= +.I identifier +| +.B ( .IR identifier \*+ +.B ) . .SS Class definitions .I @@ -520,9 +528,14 @@ class-definition .IR list [ identifier ] .< .B { -.IR class-item \** +.IR properties-class-item \** .B } .br +.I properties-class-item +::= +.RI [ properties ] +.I class-item +.br .I class-item ::= .I slot-item @@ -536,7 +549,6 @@ class-definition .I slot-item ::= .< -.RI [ properties ] .IR declaration-specifier \*+ .IR list [ init-declarator ] .B ; @@ -549,7 +561,6 @@ class-definition .br .I initializer-item ::= -.RI [ properties ] .RB [ class ] .IR list [ slot-initializer ] .B ; @@ -570,19 +581,16 @@ class-definition .br .I message-item ::= -.RI [ properties ] .< .IR declaration-specifier \*+ .I simple-declarator -.< .RI [ method-body ] .br .I method-item -.RI [ properties ] +::= .< .IR declaration-specifier \*+ -.I dotted-declarator -.< +.IR declarator [ dotted-name ] .I method-body .br .I method-body @@ -691,6 +699,18 @@ class-definition | .B unsigned .| +.B bool +| +.B _Bool +.| +.B imaginary +| +.B _Imaginary +| +.B complex +| +.B _Complex +.| .I qualifier .br .I qualifier @@ -705,10 +725,23 @@ class-definition ::= .I identifier .PP +The following +.IR type-name s +are defined in the built-in module. +.hP \*o +.B va_list +.hP \*o +.B size_t +.hP \*o +.B ptrdiff_t +.hP \*o +.B wchar_t +.PP Declaration specifiers may appear in any order. However, not all combinations are permitted. A declaration specifier must consist of -zero or more qualifiers, +zero or more +.IR qualifier s, and one of the following, up to reordering. .hP \*o .I type-name @@ -759,6 +792,22 @@ and one of the following, up to reordering. .BR float , .BR double , .B long double +.hP \*o +.BR "float _Imaginary" , +.BR "double _Imaginary" , +.B "long double _Imaginary" +.hP \*o +.BR "float imaginary" , +.BR "double imaginary" , +.B "long double imaginary" +.hP \*o +.BR "float _Complex" , +.BR "double _Complex" , +.B "long double _Complex" +.hP \*o +.BR "float complex" , +.BR "double complex" , +.B "long double complex" .PP .IR declarator [ k ] ::= @@ -788,10 +837,10 @@ and one of the following, up to reordering. .B ] .| .B ( -.I arguments +.I argument-list .B ) .br -.I arguments +.I argument-list ::= \*e | .B ... @@ -818,11 +867,7 @@ and one of the following, up to reordering. .I identifier .B .\& .I identifier -.br -.I dotted-declarator -::= -.IR declarator [ dotted-name ] - +. .\"-------------------------------------------------------------------------- .SH SEE ALSO .BR sod (1),