You've already forked UnrealEngineUWP
mirror of
https://github.com/izzy2lost/UnrealEngineUWP.git
synced 2026-03-26 18:15:20 -07:00
43 lines
1.4 KiB
C++
43 lines
1.4 KiB
C++
// Copyright 1998-2017 Epic Games, Inc. All Rights Reserved.
|
|
|
|
/*=============================================================================
|
|
HlslParser.h - Interface for parsing hlsl.
|
|
=============================================================================*/
|
|
|
|
#pragma once
|
|
|
|
#include "CoreMinimal.h"
|
|
#include "Developer/ShaderCompilerCommon/Private/HlslUtils.h"
|
|
|
|
class Error;
|
|
|
|
namespace CrossCompiler
|
|
{
|
|
struct FLinearAllocator;
|
|
namespace AST
|
|
{
|
|
class FNode;
|
|
}
|
|
|
|
enum class EParseResult
|
|
{
|
|
Matched,
|
|
NotMatched,
|
|
Error,
|
|
};
|
|
|
|
namespace Parser
|
|
{
|
|
typedef void TCallback(void* CallbackData, CrossCompiler::FLinearAllocator* Allocator, CrossCompiler::TLinearArray<CrossCompiler::AST::FNode*>& ASTNodes);
|
|
|
|
// Returns true if successfully parsed
|
|
bool Parse(const FString& Input, const FString& Filename, FCompilerMessages& OutCompilerMessages, TCallback* Callback = nullptr, void* CallbackData = nullptr);
|
|
|
|
// Returns true if successfully parsed
|
|
bool Parse(const FString& Input, const FString& Filename, FCompilerMessages& OutCompilerMessages, TArray<TCallback*> Callbacks, TArray<void*> CallbacksData);
|
|
|
|
// Sample callback to write out all nodes into a string; pass a valid pointer FString* as OutFStringPointer
|
|
void WriteNodesToString(void* OutFStringPointer, CrossCompiler::FLinearAllocator* Allocator, CrossCompiler::TLinearArray<CrossCompiler::AST::FNode*>& ASTNodes);
|
|
}
|
|
}
|