public Library TranslateLibrary(string source)
 {
     var inputStream = new AntlrInputStream(source);
     var lexer = new cqlLexer(inputStream);
     var tokenStream = new CommonTokenStream(lexer);
     var parser = new cqlParser(tokenStream);
     var parseTree = parser.logic();
     var visitor = new cqlTranslationVisitor();
     return visitor.Visit(parseTree) as Library;
 }
예제 #2
0
        public Library TranslateLibrary(string source)
        {
            var inputStream = new AntlrInputStream(source);
            var lexer       = new cqlLexer(inputStream);
            var tokenStream = new CommonTokenStream(lexer);
            var parser      = new cqlParser(tokenStream);
            var parseTree   = parser.logic();
            var visitor     = new cqlTranslationVisitor();

            return(visitor.Visit(parseTree) as Library);
        }
예제 #3
0
파일: ParseCql.cs 프로젝트: OdeToCode/cql
        public void CanParse_146()
        {
            var lexer    = new cqlLexer(new AntlrFileStream("cms146v2.cql"));
            var tokens   = new CommonTokenStream(lexer);
            var parser   = new cqlParser(tokens);
            var walker   = new ParseTreeWalker();
            var listener = new cqlListener();

            walker.Walk(listener, parser.library());

            Assert.NotNull(listener.Library);
        }
예제 #4
0
파일: ParseCql.cs 프로젝트: OdeToCode/cql
        public void RejectsBadSyntax()
        {
            var reader   = new StringReader("context bam");
            var lexer    = new cqlLexer(new AntlrInputStream(reader));
            var tokens   = new CommonTokenStream(lexer);
            var parser   = new cqlParser(tokens);
            var walker   = new ParseTreeWalker();
            var listener = new cqlListener();

            walker.Walk(listener, parser.library());

            Assert.Null(listener.Library);
        }