Beispiel #1
0
        public static OrderTerm ParseOrderTerm(string filterToken, AssetType assetType, MetaModel metaModel)
        {
            ICharStream  charStream  = new AntlrInputStream(filterToken);
            ITokenSource tokenSource = new V1QueryLexer(charStream);
            ITokenStream tokenStream = new CommonTokenStream(tokenSource);
            var          parser      = new V1QueryParser(tokenStream);
            var          expression  = parser.sort_token_term();
            var          visitor     = new OrderVisitor(assetType, metaModel);

            return(visitor.Visit(expression));
        }
Beispiel #2
0
        public static AttributeDefinition Parse(string attributeNameToken, AssetType assetType, MetaModel metaModel)
        {
            ICharStream  charStream    = new AntlrInputStream(attributeNameToken);
            ITokenSource tokenSource   = new V1QueryLexer(charStream);
            ITokenStream tokenStream   = new CommonTokenStream(tokenSource);
            var          parser        = new V1QueryParser(tokenStream);
            var          attributeName = parser.attribute_name();
            var          visitor       = new AttributeDefinitionVisitor(assetType, metaModel);

            return(visitor.Visit(attributeName));
        }
Beispiel #3
0
        public static AttributeDefinition Parse(string attributeDefinitionToken, MetaModel metaModel)
        {
            ICharStream  charStream  = new AntlrInputStream(attributeDefinitionToken);
            ITokenSource tokenSource = new V1QueryLexer(charStream);
            ITokenStream tokenStream = new CommonTokenStream(tokenSource);
            var          parser      = new V1QueryParser(tokenStream);

            var parseTree      = parser.attribute_definition_token();
            var assetTypeToken = parseTree.asset_type_token().GetText();
            var assetType      = metaModel.GetAssetType(assetTypeToken);

            var attributeName = parseTree.attribute_name().GetText();

            return(Parse(attributeName, assetType, metaModel));
        }