"return", "self", "sizeof", "static", "super", "switch", "synchronized", "then", "this", "public", "print", "private", "protected", "raise", "redo", "rescue", "retry", "register", "end", "enddeclare", "endfor", "endforeach", "endif", "endswitch", "endwhile", "ensure", List Separator ListSeparator ::= ',' | ' ' Identifier Identifier ::= ( Letter | '_' ) ( Letter | Digit | '.' | '_' )* Any constant value that is supplied must be non-negative. If no constant value is supplied, the value is either 0 for the first element, or one greater than the preceding value for any subsequent element. Typedef ::= 'typedef' DefinitionType IdentifierĪn enum creates an enumerated type, with named values. NamespaceScope ::= '*' | 'c_glib' | 'cpp' | 'delphi' | 'haxe' | 'go' | 'java' | 'js' | 'lua' | 'netstd' | 'perl' | 'php' | 'py' | 'py.twisted' | 'rb' | 'st' | 'xsd'ĭefinition Definition ::= Const | Typedef | Enum | Senum | Struct | Union | Exception | ServiceĬonst Const ::= 'const' FieldType Identifier '=' ConstValue ListSeparator?Ī typedef creates an alternate name for a type. Namespace ::= ( 'namespace' ( NamespaceScope Identifier ) ) The namespace scope indicates which language the namespace applies to a scope of ‘*’ indicates that the namespace applies to all target languages. the type definitions in this file will be declared in for the target languages. CppInclude ::= 'cpp_include' LiteralĪ namespace declares which namespaces/package/module/etc.
IDL STRING GENERATOR
Include ::= 'include' LiteralĪ C++ include adds a custom C++ include to the output of the C++ code generator for this Thrift document. Header ::= Include | CppInclude | NamespaceĪn include makes all the symbols from another file visible (with a prefix) and adds corresponding include statements into the code generated for this Thrift document. Document ::= Header* Definition*Ī header is either a Thrift include, a C++ include, or a namespace declaration. DocumentĮvery Thrift document contains 0 or more headers followed by 0 or more definitions. A Thrift IDL file is processed by the Thrift code generator to produce code for the various target languages to support the defined structs and services in the IDL file. The Thrift interface definition language (IDL) allows for the definition of Thrift Types.