a query-based code browser

Screen Shots


< ^ >

About JQuery

The Eclipse JDT comes with a variety of tools that help you navigate and reason about source code such as the Package Explorer, Outline, and Hierarchy views. However, each of these views takes up valuable screen space and it can quickly become disorienting and difficult to find information, or even to code with 3 or 4 views open. JQuery solves this problem by combining all of this information into one view, allowing you to retain the context in which you were looking for something, making it harder to get lost in your code.

JQuery is a query-based source code browser plug-in for Eclipse. It allows you to run queries that generate various views of your source code. New views can be defined by writing logic queries and running them against your source code. You can run top-level-queries that operate on a whole working set or run sub-queries on individual results of a larger query. There are many pre-written queries that can be run as-is or modified to suit a specific purpose.

The query engine used in JQuery is a logic programming engine, implemented in Java, called TyRuBa. The syntax of TyRuBa is similar to that of Prolog, a popular logic programming language. A set of TyRuBa predicates and rules have been defined that make up the JQuery query language. These predicates operate on a fact database that is generated from walking the Eclipse JDT abstract syntax tree (for .java files) and parsing java bytecode (for .class files). JQuery uses the ASM bytecode manipulation framework for parsing .class files.


< ^ >