Как построить декартово произведение запроса из двух других запросов, используя ANTLR - PullRequest
0 голосов
/ 28 января 2020

Я новичок ie в мире АНТЛР. У меня есть следующее требование, когда при заданных 2 запросах (csQuery и locQuery) мне нужно создать третий запрос, который представляет собой декартово выражение запроса продукта (Ожидаемый ответ).

Подробности см. В приведенных ниже примерах -

csQuery = "(tld=someurl.com)";  locQuery = "(zip=95050)"; expectedResp = "((tld=someurl.com) and (zip=95050))";
csQuery = "(tld=someurl.com) and (kwd=jackpot)"; locQuery = "(zip=95050)"; expectedResp = "((tld=someurl.com) and (kwd=jackpot) and (zip=95050))";
csQuery = "(tld=someurl.com) or (kwd=jackpot)"; locQuery = "(zip=95050)";  expectedResp = "((tld=someurl.com) and (zip=95050)) or ((kwd=jackpot) and (zip=95050))";

csQuery = "(app=fb)  OR ((tld=fb.com) AND (kwd=fb))"; locQuery = "(state= NY)"; expectedResp = "((app=fb) and (state= NY)) or (((tld=fb.com) and (kwd=fb) and (state= NY)))";
csQuery = "((app=fb))  OR ((tld=fb.com) AND (kwd=fb)) OR ((tld=ggl.com) AND (kwd=ggl))";locQuery = "(state= NY)";expectedResp = "(((app=fb) and (state= NY))) or (((tld=fb.com) and (kwd=fb) and (state= NY))) or (((tld=ggl.com) and (kwd=ggl) and (state= NY)))";

Я хотел знать, возможно ли это с помощью ANTLR. Если да, как мне определить грамматические файлы для 2 запросов и сгенерировать ожидаемый результат.

...