HDK
|
Syntax class for Vulkan GLSL. More...
#include <VkSyntax.h>
Public Member Functions | |
VkSyntax (TypeSystemPtr typeSystem) | |
const string & | getInputQualifier () const override |
![]() | |
GlslSyntax (TypeSystemPtr typeSystem) | |
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 |
![]() | |
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 SyntaxPtr | create (TypeSystemPtr typeSystem) |
Additional Inherited Members | |
![]() | |
enum | Punctuation { PARENTHESES, CURLY_BRACKETS, SQUARE_BRACKETS, DOUBLE_SQUARE_BRACKETS } |
Punctuation types. More... | |
![]() | |
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 const string | NEWLINE |
Constants with commonly used strings. More... | |
static const string | SEMICOLON |
static const string | COMMA |
![]() | |
Syntax (TypeSystemPtr typeSystem) | |
Protected constructor. More... | |
![]() | |
TypeSystemPtr | _typeSystem |
vector< TypeSyntaxPtr > | _typeSyntaxes |
std::unordered_map< TypeDesc, size_t, TypeDesc::Hasher > | _typeSyntaxIndexByType |
StringSet | _reservedWords |
StringMap | _invalidTokens |
![]() | |
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 |
Syntax class for Vulkan GLSL.
Definition at line 17 of file VkSyntax.h.
VkSyntax::VkSyntax | ( | TypeSystemPtr | typeSystem | ) |
|
inlinestatic |
Definition at line 22 of file VkSyntax.h.
|
inlineoverridevirtual |
Returns a type qualifier to be used when declaring types for input variables. Default implementation returns empty string and derived syntax classes should override this method.
Reimplemented from GlslSyntax.
Definition at line 24 of file VkSyntax.h.