SharpDX.Toolkit.Compiler
A simple ast used to store technique/pass parsing result.
Root node for all ast objects.
Root node for all expressions.
Root node for all statements.
An identifier.
Initializes a new instance of the class.
Initializes a new instance of the class.
The name.
The identifier as a string.
Is an indirect reference using <...>.
An indexed identifier.
Initializes a new instance of the class.
Initializes a new instance of the class.
The name.
The index.
The index
A literal value.
Initializes a new instance of the class.
Initializes a new instance of the class.
The value.
The literal value.
An expression statement.
Initializes a new instance of the class.
Initializes a new instance of the class.
The expression.
The Expression.
An array initialzer {...} expression.
Initializes a new instance of the class.
List of values.
A reference to an identifier.
Initializes a new instance of the class.
Initializes a new instance of the class.
The name.
The identifier referenced by this expression.
An assign expression name = value.
Initializes a new instance of the class.
Initializes a new instance of the class.
The name.
The value.
The identifier receiver.
The value to assign.
A literal expression.
Initializes a new instance of the class.
Initializes a new instance of the class.
The value.
A compile expression (old style d3d9: compile vx_2_0 VS();).
Initializes a new instance of the class.
Initializes a new instance of the class.
A method expression.
Initializes a new instance of the class.
Name of the method.
Arguments.
A HLSL 'pass'.
Initializes a new instance of the class.
Name of the pass.
Can be null.
List of statements.
A HLSL 'technique'.
Initializes a new instance of the class.
Name of the technique.
Can be null.
List of passes.
Root ast for a shader.
Initializes a new instance of the class.
List of techniques.
Result of a compilation.
Initializes a new instance of the class.
The EffectData.
The logger.
Gets the EffectData.
The EffectData.
Gets a value indicating whether this instance has errors.
true if this instance has errors; otherwise, false.
Gets the logger containing compilation messages..
The logger.
Main class used to compile a Toolkit FX file.
Compiles an effect from file.
The file path.
The flags.
The macros.
The include directory list.
The include file delegate.
The result of compilation.
Compiles an effect from the specified source code and filepath.
The source code.
The file path.
The flags.
The macros.
The include directory list.
The include file delegate.
The result of compilation.
Disassembles a shader HLSL bytecode to asm code.
The shader.
A string containing asm code decoded from HLSL bytecode.
Builds the parameters for a particular shader.
The shader to build parameters.
Builds an effect parameter from a reflection variable.
an EffectParameter, null if not handled
Builds an effect parameter from a reflection variable.
an EffectParameter, null if not handled
Use this class to generate a code with embedded effect bytecode.
Gets or sets the class declaration (Default: "public partial").
Gets or sets the namespace.
Gets or sets the classname.
Gets or sets the field declaration (default: "private").
Gets or sets the field name (default: "effectByteCode").
End of file token.
Initializes a new instance of the class.
Parses the specified input.
The input.
Name of the file.
Result of parsing
Gets or sets the include file callback.
The include file callback.
Gets the macros.
The macros.
Gets the include directory list.
The include directory list.
Gets or sets the logger.
The logger.
Location of a portion of source.
Path of the file.
Column of the span.
Line of the span.
Absolute index in the input string.
Length of the source span in the input string.
Contains information about a token language.
Initializes a new instance of the struct.
The type.
The value.
The span.
The type of the token.
Value of the token.
The source span.
A simple tokenizer used to transform a HLSL sourcecode into a collection of tokens.
This tokenizer is used to parse tokens inside technique/pass block.
See for the list of tokens that are supported inside technique/pass.
This tokenizer is not really efficient compare to a DFA (Deterministic Finite-state Automaton)
parser but enough suitable in our case (120 files from DirectX SDK parsed in 2s).
Runs the tokenizer on an input string.
The string to decode to tokens.
An enumeration of tokens.
Type of a token language.
A Newline.
An identifier.
A number in hexadecimal form.
A number.
The symbol '='.
A comma ','.
A Semicolon ';'.
A left curly brace '{'.
A right curly brace '}'.
A left parenthesis '('.
A right parenthesis ')'.
A left bracket '['.
A right bracket ']'.
A string.
A preprocessor token '#'
A double colon '::'.
A dot '.'.
A '<'.
A '>'.
An unknown symbol.
A end of file token.