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)); }
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)); }
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)); }