コード例 #1
0
        public static GLSL_ES300Parser SetupParser(string input)
        {
            ICharStream      stream = CharStreams.fromstring(input);
            GLSL_ES300Lexer  lexer  = new GLSL_ES300Lexer(stream);
            ITokenStream     tokens = new CommonTokenStream(lexer);
            GLSL_ES300Parser parser = new GLSL_ES300Parser(tokens);

            parser.BuildParseTree = true;
            return(parser);
        }
コード例 #2
0
        public void CanParseNoDeclarations()
        {
            ICharStream      stream = CharStreams.fromstring(NoDeclarationsPayload);
            GLSL_ES300Lexer  lexer  = new GLSL_ES300Lexer(stream);
            ITokenStream     tokens = new CommonTokenStream(lexer);
            GLSL_ES300Parser parser = new GLSL_ES300Parser(tokens);

            parser.BuildParseTree = true;

            var context = parser.translation_unit();

            Assert.IsNull(context.exception);
        }
コード例 #3
0
        public Root Parse(string payload)
        {
            ICharStream      stream = CharStreams.fromstring(payload);
            GLSL_ES300Lexer  lexer  = new GLSL_ES300Lexer(stream);
            ITokenStream     tokens = new CommonTokenStream(lexer);
            GLSL_ES300Parser parser = new GLSL_ES300Parser(tokens);

            parser.BuildParseTree = true;

            var context = parser.translation_unit();
            var subject = new AstBuilderVisitor();
            var result  = (Root)subject.Visit(context);

            return(result);
        }