gitextract_nsdljbup/ ├── .editorconfig ├── .gitignore ├── Examples/ │ └── hello/ │ ├── README.md │ ├── hello.cpp │ ├── hello.sln │ ├── hello.spire │ ├── hello.vcxproj │ └── hello.vcxproj.filters ├── LICENSE.txt ├── README.md ├── Source/ │ ├── CoreLib/ │ │ ├── Allocator.h │ │ ├── Array.h │ │ ├── ArrayView.h │ │ ├── Basic.h │ │ ├── CMakeLists.txt │ │ ├── CommandLineParser.cpp │ │ ├── CommandLineParser.h │ │ ├── Common.h │ │ ├── CoreLibBasic.vcxproj │ │ ├── Dictionary.h │ │ ├── Exception.h │ │ ├── Func.h │ │ ├── Hash.h │ │ ├── IntSet.h │ │ ├── LibIO.cpp │ │ ├── LibIO.h │ │ ├── LibMath.cpp │ │ ├── LibMath.h │ │ ├── LibString.cpp │ │ ├── LibString.h │ │ ├── Link.h │ │ ├── Linq.h │ │ ├── List.h │ │ ├── MemoryPool.cpp │ │ ├── MemoryPool.h │ │ ├── SecureCRT.h │ │ ├── SmartPointer.h │ │ ├── Stream.cpp │ │ ├── Stream.h │ │ ├── TextIO.cpp │ │ ├── TextIO.h │ │ ├── Tokenizer.cpp │ │ ├── Tokenizer.h │ │ ├── TypeTraits.h │ │ ├── VectorMath.cpp │ │ ├── VectorMath.h │ │ └── corelib.natvis │ ├── Spire.sln │ ├── SpireCompiler/ │ │ ├── D3DCompiler.cpp │ │ ├── D3DCompiler.h │ │ ├── ShaderCompilerShell.cpp │ │ ├── SpireCompiler.vcxproj │ │ └── SpireCompiler.vcxproj.filters │ ├── SpireCore/ │ │ ├── CLikeCodeGen.cpp │ │ ├── CLikeCodeGen.h │ │ ├── Closure.cpp │ │ ├── Closure.h │ │ ├── CodeGenBackend.h │ │ ├── CodeGenerator.cpp │ │ ├── CodeWriter.h │ │ ├── CompiledProgram.cpp │ │ ├── CompiledProgram.h │ │ ├── ConstantPool.cpp │ │ ├── DiagnosticDefs.h │ │ ├── Diagnostics.cpp │ │ ├── Diagnostics.h │ │ ├── GLSLCodeGen.cpp │ │ ├── GetDependencyVisitor.cpp │ │ ├── GetDependencyVisitor.h │ │ ├── HLSLCodeGen.cpp │ │ ├── IL.cpp │ │ ├── IL.h │ │ ├── InsertImplicitImportOperator.cpp │ │ ├── KeyHoleMatching.cpp │ │ ├── Lexer.cpp │ │ ├── Lexer.h │ │ ├── Naming.cpp │ │ ├── Naming.h │ │ ├── NatvisFile.natvis │ │ ├── NewSpirVCodeGen.cpp │ │ ├── Parser.cpp │ │ ├── Parser.h │ │ ├── Preprocessor.cpp │ │ ├── Preprocessor.h │ │ ├── SamplerUsageAnalysis.cpp │ │ ├── SamplerUsageAnalysis.h │ │ ├── Schedule.cpp │ │ ├── Schedule.h │ │ ├── ScopeDictionary.h │ │ ├── SemanticsVisitor.cpp │ │ ├── ShaderCompiler.cpp │ │ ├── ShaderCompiler.h │ │ ├── SpirVCodeGen.cpp │ │ ├── SpireCore.vcxproj │ │ ├── SpireCore.vcxproj.filters │ │ ├── StdInclude.cpp │ │ ├── StdInclude.h │ │ ├── StringObject.h │ │ ├── SymbolTable.cpp │ │ ├── SymbolTable.h │ │ ├── Syntax.cpp │ │ ├── Syntax.h │ │ ├── SyntaxVisitors.h │ │ ├── TypeLayout.cpp │ │ ├── TypeLayout.h │ │ ├── TypeTranslation.cpp │ │ ├── TypeTranslation.h │ │ ├── VariantIR.cpp │ │ └── VariantIR.h │ └── SpireLib/ │ ├── SpireLib.cpp │ ├── SpireLib.h │ ├── SpireLib.vcxproj │ └── SpireLib.vcxproj.filters ├── Spire.h ├── SpireAllSource.h ├── Tests/ │ ├── Diagnostics/ │ │ ├── break-outside-loop.spire │ │ ├── break-outside-loop.spire.expected │ │ ├── call-argument-type.spire │ │ ├── call-argument-type.spire.expected │ │ ├── continue-outside-loop.spire │ │ ├── continue-outside-loop.spire.expected │ │ ├── expected-token-eof.spire │ │ ├── expected-token-eof.spire.expected │ │ ├── expected-token.spire │ │ ├── expected-token.spire.expected │ │ ├── function-redefinition.spire │ │ ├── function-redefinition.spire.expected │ │ ├── hull-shader-invalid-domain.spire │ │ ├── hull-shader-invalid-domain.spire.expected │ │ ├── hull-shader-no-domain.spire │ │ ├── hull-shader-no-domain.spire.expected │ │ ├── illegal-character.spire │ │ ├── illegal-character.spire.expected │ │ ├── missing-file.spire │ │ ├── missing-file.spire.expected │ │ ├── parameter-already-defined.spire │ │ ├── parameter-already-defined.spire.expected │ │ ├── undefined-identifier.spire │ │ ├── undefined-identifier.spire.expected │ │ ├── variable-void-type.spire │ │ ├── variable-void-type.spire.expected │ │ ├── while-predicate-type.spire │ │ └── while-predicate-type.spire.expected │ ├── FrontEnd/ │ │ ├── lexer-comments.spire │ │ ├── parser-decls.spire │ │ ├── parser-empty.spire │ │ ├── parser-error-unclosed-curly.spire │ │ ├── parser-error-unclosed-curly.spire.expected │ │ ├── parser-using-file-a.spireh │ │ ├── parser-using-file.spire │ │ ├── pipeline-simple.spireh │ │ ├── struct.spire │ │ └── typedef.spire │ ├── HLSLCodeGen/ │ │ ├── DeferredLighting.fs.hlsl │ │ ├── DeferredLighting.vs.hlsl │ │ ├── StandardPipeline.spire │ │ ├── Utils.spire │ │ └── shader1.spire │ ├── Preprocessor/ │ │ ├── define-function-like.spire │ │ ├── define-function-like.spire.expected │ │ ├── define-simple.spire │ │ ├── if.spire │ │ ├── ifdef.spire │ │ ├── include-a.spireh │ │ └── include.spire │ └── SpireTestTool/ │ ├── SpireTestTool.vcxproj │ ├── SpireTestTool.vcxproj.filters │ ├── main.cpp │ ├── os.cpp │ └── os.h └── test.bat