A Note on the Language

This document describes the BBQ language for querying Java and C#/CIL systems. The two query languages are very similar; portions that are specific to one or the other platform are noted with (Java) or (C#/CIL).

The syntax of the query language is motivated by the desire to have queries (set expressions) in the language resemble the noun phrases in English that describe what the queries return. Just as English adjectives and adjectival constructions precede the nouns they modify, BBQ queries are built by prepending filters and transforms to simpler queries.

The concepts of the underlying object query system are independent of this syntax, however. The concepts are also quite distinct from those in SQL, since you work directly with BBQ's object model, rather than tabular abstractions based on it. BBQ attempts to provide an intuitive facility for developers to envision and realize different aspects of their system's code base, backed by the features of a powerful and general object query system. One can imagine providing this facility with a completely different language syntax.

browse-by-query home antlersoft free software sourceforge project page