namespace Ghost.SDL.Compiler; internal struct FunctionCallDeclaration { public Token name; public List? arguments; } internal struct PropertyDeclaration { public Token scope; public Token type; public Token name; public FunctionCallDeclaration? propertyConstructor; } internal struct ValueDeclaration { public Token name; public Token value; } internal class PropertiesSyntax { public List? properties; public List? functionCalls; } internal class PipelineSyntax { public List? values; public List? functionCalls; } internal class PassSyntax { public Token name; public PipelineSyntax? localPipeline; public List? defines; public List? keywords; public List? functionCalls; } internal class SDLSyntax { public Token name; public PropertiesSyntax? properties; public PipelineSyntax? pipeline; public List? passes; public List? functionCalls; }