Пример #1
0
        Expression CreateExpressionFromString(string name)
        {
            // TODO: catch errors
            var result = ShaderParser.GetParser <ParadoxGrammar>(ShaderParser.GetGrammar <ParadoxGrammar>().ExpressionNonTerminal).Parser.Parse(name, "");

            return((Expression)result.Root.AstNode);
        }
Пример #2
0
        /// <summary>
        /// Preprocesses and parses the specified source.
        /// </summary>
        /// <param name="source">The source.</param>
        /// <param name="sourceFileName">Name of the source file.</param>
        /// <param name="macros">The macros defined for the preprocessor.</param>
        /// <param name="includeDirectories">The include directories used by the preprocessor..</param>
        /// <returns>Result of parsing</returns>
        public static ParsingResult TryPreProcessAndParse(string source, string sourceFileName, SiliconStudio.Shaders.Parser.ShaderMacro[] macros = null, params string[] includeDirectories)
        {
            var result = ShaderParser.GetParser <XenkoGrammar>().TryPreProcessAndParse(source, sourceFileName, macros, includeDirectories);

            PrepareShader(result.Shader);
            return(result);
        }
Пример #3
0
        /// <summary>
        /// Parses the specified source code.
        /// </summary>
        /// <param name="sourceCode">The source code.</param>
        /// <param name="sourceFileName">Name of the source file.</param>
        /// <returns></returns>
        public static ParsingResult TryParse(string sourceCode, string sourceFileName)
        {
            var parsingResult = ShaderParser.GetParser <XenkoGrammar>().Parse(sourceCode, sourceFileName);

            PrepareShader(parsingResult.Shader);
            return(parsingResult);
        }
Пример #4
0
 /// <summary>
 /// Parses the specified source code.
 /// </summary>
 /// <param name="sourceCode">The source code.</param>
 /// <param name="sourceFileName">Name of the source file.</param>
 /// <returns></returns>
 public static Shader Parse(string sourceCode, string sourceFileName)
 {
     return(PrepareShader(ShaderParser.GetParser <XenkoGrammar>().ParseAndCheck(sourceCode, sourceFileName)));
 }
Пример #5
0
 /// <summary>
 /// Preprocesses and parses the specified source.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="sourceFileName">Name of the source file.</param>
 /// <param name="macros">The macros defined for the preprocessor.</param>
 /// <param name="includeDirectories">The include directories used by the preprocessor..</param>
 /// <returns>Result of parsing</returns>
 public static Shader PreProcessAndParse(string source, string sourceFileName, SiliconStudio.Shaders.Parser.ShaderMacro[] macros = null, params string[] includeDirectories)
 {
     return(PrepareShader(ShaderParser.GetParser <XenkoGrammar>().PreProcessAndParse(source, sourceFileName, macros, includeDirectories)));
 }
Пример #6
0
 /// <summary>
 /// Preinitialize the parser.
 /// </summary>
 public static void Initialize()
 {
     ShaderParser.GetParser <XenkoGrammar>();
 }
Пример #7
0
 /// <summary>
 /// Preinitialize the parser.
 /// </summary>
 public static void Initialize()
 {
     ShaderParser.GetParser <StrideGrammar>();
 }
Пример #8
0
 /// <summary>
 /// Parses the specified source.
 /// </summary>
 /// <param name="source">The source.</param>
 /// <param name="sourceFileName">Name of the source file.</param>
 /// <param name="macros">The macros defined for the preprocessor.</param>
 /// <param name="includeDirectories">The include directories used by the preprocessor..</param>
 /// <returns>Result of parsing</returns>
 public static Shader Parse(string source, string sourceFileName, ShaderMacro[] macros = null, params string[] includeDirectories)
 {
     return(ShaderParser.GetParser <HlslGrammar>().PreProcessAndParse(source, sourceFileName, macros, includeDirectories));
 }
Пример #9
0
 /// <summary>
 /// Initializes this instance.
 /// </summary>
 public static void Initialize()
 {
     // Call get parser to force an initialization
     ShaderParser.GetParser <HlslGrammar>();
 }
Пример #10
0
 /// <summary>
 /// Initializes this instance.
 /// </summary>
 static HlslParser()
 {
     // Call get parser to force an initialization
     ShaderParser.GetParser <HlslGrammar>();
 }
Пример #11
0
 /// <summary>
 /// Preinitialize the parser.
 /// </summary>
 public static void Initialize()
 {
     ShaderParser.GetParser <ParadoxGrammar>();
 }