Ahoj,
mám úplně stejný problém jako tenhle borec:
http://stackoverflow.com/questions/10959489/building-a-dsl-query-language Mám appku, která pracuje nad SQL databází nějakých objektů. Uživatel může v objektech hledat, některým ale nestačí jednoduchý formulář a chtějí složitější dotazy, dokonce by se hodilo i nějaké počítání (sečíst dva sloupce, přičíst jedničku, atd.). Přemýšlím, jak to udělat a nestrhat se na tom.
V současné době tam mám jednoduché SQL-ish DSL, které se prostě zvaliduje a přeloží na normální SQL. Nechtěl bych ale skončit s tím, že budu takhle nakonec psát celý nějaký vlastní jazyk - zas tak dobrej v překladačích nejsem. Ve Facebooku (FQL) nebo v Yahoo (YQL) tak skončili, ale to je trošku moc na mě... :) Docela by mi nevadilo, kdyby na tohle byly už nějaké hotové nástroje.
Říkám si - jak to vyřešit jednoduše a chytře? Dát uživatelům k dispozici rovnou SQL a nějak ho zabezpečit? Toho se fakt bojím. ElasticSearch / Solr jsou overkilly, do kterých se teď fakt nechci zababrávat.