Dear Wiki user, You have subscribed to a wiki page or wiki category on "Thrift Wiki" for change notification.
The following page has been changed by ChadWalters: http://wiki.apache.org/thrift/ThriftIDL The comment on the change is: Add initial stab at definitions ------------------------------------------------------------------------------ = Description = - Here is an informal description of the Thrift IDL: + ''Under construction'' - ''To be added'' + Here is a description of the Thrift IDL: + + {{{Document ::= Header* Definition*}}} + + {{{Header ::= Include | CppInclude | Namespace | XsdNamespace}}} + + {{{Include ::= 'include' Literal}}} + + {{{CppInclude ::= 'cpp_include' Literal}}} + + {{{Namespace ::= 'namespace' ( ( NamespaceType Identifier ) |}}} + {{{ ( 'smalltalk.category' STIdentifier ) )}}} + + {{{NamespaceType ::= '*' | LangID | 'smalltalk.prefix'}}} + + {{{LangID ::= 'cpp' | 'java' | 'php' | 'py' | 'perl' | 'rb' |}}} + {{{ 'cocoa' | 'csharp'}}} + + {{{XsdNamespace ::= 'xsd_namespace' Literal}}} + + {{{Definition ::= Const | Typedef | Enum | Senum | Struct | Xception | Service}}} + + {{{Const ::=}}} + + {{{Typedef ::=}}} + + {{{Enum ::=}}} + + {{{Senum ::=}}} + + {{{Struct ::= 'struct' Identifier XSDAll? '{' FieldList '}'}}} + + {{{Xception ::=}}} + + {{{Service ::= 'service' Identifier ( 'extends' Identifier )? '{' FunctionList '}'}}} + + {{{XSDAll ::=}}} + + {{{FieldList ::=}}} + + {{{FunctionList ::=}}} + + {{{Literal ::= ('"' [^"]* '"') | ("'" [^']* "'")}}} + + {{{Identifier ::= ( Letter | '_' ) ( Letter | Digit | '.' | '_' )*}}} + + {{{STIdentifier ::= ( Letter | '_' ) ( Letter | Digit | '.' | '_' | '-' )*}}} + + {{{Letter ::= ['A'-'Z'] | ['a'-'z']}}} + + {{{Digit ::= ['0'-'9']}}} = Examples =
