HDK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
EsslSyntax Class Reference

Syntax class for ESSL (OpenGL ES Shading Language) More...

#include <EsslSyntax.h>

+ Inheritance diagram for EsslSyntax:

Public Member Functions

 EsslSyntax (TypeSystemPtr typeSystem)
 
- Public Member Functions inherited from GlslSyntax
 GlslSyntax (TypeSystemPtr typeSystem)
 
const string & getInputQualifier () const override
 
const string & getOutputQualifier () const override
 
const string & getConstantQualifier () const override
 
const string & getUniformQualifier () const override
 
const string & getSourceFileExtension () const override
 Return the file extension used for source code files in this language. More...
 
bool typeSupported (const TypeDesc *type) const override
 
bool remapEnumeration (const string &value, TypeDesc type, const string &enumNames, std::pair< TypeDesc, ValuePtr > &result) const override
 
StructTypeSyntaxPtr createStructSyntax (const string &structTypeName, const string &defaultValue, const string &uniformDefaultValue, const string &typeAlias, const string &typeDefinition) const override
 
- Public Member Functions inherited from Syntax
virtual ~Syntax ()
 
void registerTypeSyntax (TypeDesc type, TypeSyntaxPtr syntax)
 
void registerTypeSyntax (const TypeDesc *type, TypeSyntaxPtr syntax)
 
void registerReservedWords (const StringSet &names)
 
void registerInvalidTokens (const StringMap &tokens)
 
const StringSet & getReservedWords () const
 Returns a set of names that are reserved words for this language syntax. More...
 
const StringMap & getInvalidTokens () const
 Returns a mapping from disallowed tokens to replacement strings for this language syntax. More...
 
const TypeSyntax & getTypeSyntax (TypeDesc type) const
 
const TypeSyntax & getTypeSyntax (const TypeDesc *type) const
 
const vector< TypeSyntaxPtr > & getTypeSyntaxes () const
 Returns an array of all registered type syntax objects. More...
 
TypeDesc getType (const string &name) const
 Return a type description for the given type name. More...
 
const string & getTypeName (TypeDesc type) const
 Returns the name syntax of the given type. More...
 
const string & getTypeName (const TypeDesc *type) const
 
virtual string getOutputTypeName (TypeDesc type) const
 Returns the type name in an output context. More...
 
string getOutputTypeName (const TypeDesc *type) const
 
const string & getTypeAlias (TypeDesc type) const
 
const string & getTypeAlias (const TypeDesc *type) const
 
const string & getTypeDefinition (TypeDesc type) const
 
const string & getTypeDefinition (const TypeDesc *type) const
 
const string & getDefaultValue (TypeDesc type, bool uniform=false) const
 Returns the default value string for the given type. More...
 
const string & getDefaultValue (const TypeDesc *type, bool uniform=false) const
 
virtual string getValue (TypeDesc type, const Value &value, bool uniform=false) const
 Returns the value string for a given type and value object. More...
 
string getValue (const TypeDesc *type, const Value &value, bool uniform=false) const
 
virtual string getValue (const ShaderPort *port, bool uniform=false) const
 Returns the value string for a given shader port object. More...
 
virtual const string & getNewline () const
 Return the characters used for a newline. More...
 
virtual const string & getIndentation () const
 Return the characters used for a single indentation level. More...
 
virtual const string & getStringQuote () const
 Return the characters used to begin/end a string definition. More...
 
virtual const string & getIncludeStatement () const
 Return the string pattern used for a file include statement. More...
 
virtual const string & getSingleLineComment () const
 Return the characters used for single line comment. More...
 
virtual const string & getBeginMultiLineComment () const
 Return the characters used to begin a multi line comments block. More...
 
virtual const string & getEndMultiLineComment () const
 Return the characters used to end a multi line comments block. More...
 
virtual string getArrayTypeSuffix (TypeDesc, const Value &) const
 Return the array suffix to use for declaring an array type. More...
 
string getArrayTypeSuffix (const TypeDesc *type, const Value &value) const
 
virtual string getArrayVariableSuffix (TypeDesc type, const Value &value) const
 Return the array suffix to use for declaring an array variable. More...
 
string getArrayVariableSuffix (const TypeDesc *type, const Value &value) const
 
virtual void makeValidName (string &name) const
 Modify the given name string to remove any invalid characters or tokens. More...
 
virtual void makeIdentifier (string &name, IdentifierMap &identifiers) const
 
virtual string getVariableName (const string &name, TypeDesc type, IdentifierMap &identifiers) const
 
string getVariableName (const string &name, const TypeDesc *type, IdentifierMap &identifiers) const
 

Static Public Member Functions

static SyntaxPtr create (TypeSystemPtr typeSystem)
 
- Static Public Member Functions inherited from GlslSyntax
static SyntaxPtr create (TypeSystemPtr typeSystem)
 

Additional Inherited Members

- Public Types inherited from Syntax
enum  Punctuation { PARENTHESES, CURLY_BRACKETS, SQUARE_BRACKETS, DOUBLE_SQUARE_BRACKETS }
 Punctuation types. More...
 
- Static Public Attributes inherited from GlslSyntax
static const string INPUT_QUALIFIER
 
static const string OUTPUT_QUALIFIER
 
static const string UNIFORM_QUALIFIER
 
static const string CONSTANT_QUALIFIER
 
static const string FLAT_QUALIFIER
 
static const string SOURCE_FILE_EXTENSION
 
static const StringVec VEC2_MEMBERS
 
static const StringVec VEC3_MEMBERS
 
static const StringVec VEC4_MEMBERS
 
- Static Public Attributes inherited from Syntax
static const string NEWLINE
 Constants with commonly used strings. More...
 
static const string SEMICOLON
 
static const string COMMA
 
- Protected Member Functions inherited from Syntax
 Syntax (TypeSystemPtr typeSystem)
 Protected constructor. More...
 
- Protected Attributes inherited from Syntax
TypeSystemPtr _typeSystem
 
vector< TypeSyntaxPtr > _typeSyntaxes
 
std::unordered_map< TypeDesc,
size_t, TypeDesc::Hasher > 
_typeSyntaxIndexByType
 
StringSet _reservedWords
 
StringMap _invalidTokens
 
- Static Protected Attributes inherited from Syntax
static const string INDENTATION
 
static const string STRING_QUOTE
 
static const string INCLUDE_STATEMENT
 
static const string SINGLE_LINE_COMMENT
 
static const string BEGIN_MULTI_LINE_COMMENT
 
static const string END_MULTI_LINE_COMMENT
 
static const
std::unordered_map< char,
size_t > 
CHANNELS_MAPPING
 

Detailed Description

Syntax class for ESSL (OpenGL ES Shading Language)

Definition at line 17 of file EsslSyntax.h.

Constructor & Destructor Documentation

EsslSyntax::EsslSyntax ( TypeSystemPtr  typeSystem)

Member Function Documentation

static SyntaxPtr EsslSyntax::create ( TypeSystemPtr  typeSystem)
inlinestatic

Definition at line 22 of file EsslSyntax.h.


The documentation for this class was generated from the following file: