Connected: An Internet Encyclopedia
RFC 1832 - 5.3 Syntax Information

Top: Connected: An Internet Encyclopedia
Up: Requests For Comments
Up: RFC 1832
Up: 5. THE XDR LANGUAGE SPECIFICATION
Prev: 5.2 Lexical Notes
Next: 5.4 Syntax Notes

### 5.3 Syntax Information

          declaration:
               type-specifier identifier
             | type-specifier identifier "[" value "]"
             | type-specifier identifier "<" [ value ] ">"
             | "opaque" identifier "[" value "]"
             | "opaque" identifier "<" [ value ] ">"
             | "string" identifier "<" [ value ] ">"
             | type-specifier "*" identifier
             | "void"

          value:
               constant
             | identifier

          type-specifier:
               [ "unsigned" ] "int"
             | [ "unsigned" ] "hyper"
             | "float"
             | "double"
             | "quadruple"
             | "bool"
             | enum-type-spec
             | struct-type-spec
             | union-type-spec
             | identifier

          enum-type-spec:
             "enum" enum-body

          enum-body:
             "{"
                ( identifier "=" value )
                ( "," identifier "=" value )*
             "}"

          struct-type-spec:
             "struct" struct-body

          struct-body:
             "{"
                ( declaration ";" )
                ( declaration ";" )*
             "}"

          union-type-spec:
             "union" union-body
          union-body:
             "switch" "(" declaration ")" "{"
                ( "case" value ":" declaration ";" )
                ( "case" value ":" declaration ";" )*
                [ "default" ":" declaration ";" ]
             "}"

          constant-def:
             "const" identifier "=" constant ";"

          type-def:
               "typedef" declaration ";"
             | "enum" identifier enum-body ";"
             | "struct" identifier struct-body ";"
             | "union" identifier union-body ";"

          definition:
               type-def
             | constant-def

          specification:
               definition *

Next: 5.4 Syntax Notes

Connected: An Internet Encyclopedia
RFC 1832 - 5.3 Syntax Information