Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
cderoove committed Aug 14, 2012
0 parents commit e0fe4af
Show file tree
Hide file tree
Showing 93 changed files with 10,212 additions and 0 deletions.
2 changes: 2 additions & 0 deletions EkekoFeature/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bin
.metadata
17 changes: 17 additions & 0 deletions EkekoFeature/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>EkekoFeature</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>org.eclipse.pde.FeatureBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.FeatureNature</nature>
</natures>
</projectDescription>
1 change: 1 addition & 0 deletions EkekoFeature/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
bin.includes = feature.xml
69 changes: 69 additions & 0 deletions EkekoFeature/feature.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,69 @@
<?xml version="1.0" encoding="UTF-8"?>
<feature
id="damp.ekeko.feature"
label="Ekeko"
version="1.0.3">

<description>
Ekeko is an environment for querying and transforming Eclipse workspaces using causally-connected applicative logic meta-programs. Ekeko is based on the core.logic (https://github.com/clojure/core.logic) port to Clojure (http://clojure.org/) of the applicative logic programming language Kanren (http://kanren.sourceforge.net/). Ekeko is meant as the successor to the SOUL logic program query language (http://soft.vub.ac.be/SOUL/), which still hosts links
to academic papers about logic program querying.
</description>

<copyright>
(c) 2012 Ekeko contributors
Coen De Roover:
- initial design, implementation and documentation
Carlos Noguera
- Barista graphical user interface
Reinout Stevens
- damp.ekeko.workspace.reification relations
</copyright>

<license url="http://www.eclipse.org/org/documents/epl-v10.html">
Distributed under the Eclipse Public License.

Included dependencies:
- Clojure&apos;s logic programming library &quot;core.logic&quot;: https://github.com/clojure/core.logic/ (Eclipse Public License)
- Reinout Stevens&apos; regular path expression library &quot;damp.qwal&quot; (Eclipse Public License): https://github.com/ReinoutStevens/damp.qwal
- Anders Hessellund&apos;s intra-procedural JDT control flow graph &quot;dk.itu.smartemf.ofbiz.analysis.ControlFlowGraph&quot; (Apache license): http://www.itu.dk/people/hessellund/smartemf/index.php
- Sable&apos;s Java Optimization Framework &quot;Soot&quot; (LGPL): http://www.sable.mcgill.ca/soot/

External dependencies:
- Eclipse Plugin &quot;org.eclipse.jdt.astview&quot; (Eclipse Public License): http://www.eclipse.org/jdt/ui/astview/index.php
- Eclipse Plugin &quot;Counterclockwise&quot; (Eclipse Public License): http://code.google.com/p/counterclockwise/
</license>

<url>
<discovery label="Counterclockwise Update Site" url="http://ccw.cgrand.net/updatesite"/>
<discovery label="ASTView Update Site" url="http://www.eclipse.org/jdt/ui/update-site"/>
</url>

<requires>
<import plugin="org.eclipse.jdt.astview" version="1.1.8" match="greaterOrEqual"/>
<import feature="ccw.feature"/>
<import plugin="clojure.osgi"/>
<import plugin="org.eclipse.ui"/>
<import plugin="org.eclipse.core.runtime"/>
<import plugin="org.eclipse.jdt.core"/>
<import plugin="org.eclipse.core.resources"/>
<import plugin="ccw.clojure"/>
<import plugin="org.eclipse.ui.console"/>
<import plugin="org.eclipse.ui.workbench.texteditor"/>
<import plugin="org.eclipse.core.expressions"/>
<import plugin="org.eclipse.ui.ide"/>
<import plugin="org.eclipse.jface.text"/>
<import plugin="org.eclipse.jdt.ui"/>
<import plugin="ccw.core"/>
<import plugin="org.eclipse.jdt.launching"/>
<import plugin="org.clojure.tools.nrepl"/>
<import plugin="ccw.util"/>
</requires>

<plugin
id="damp.ekeko.plugin"
download-size="0"
install-size="0"
version="1.0.3"
unpack="false"/>

</feature>
20 changes: 20 additions & 0 deletions EkekoPlugin/.classpath
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.6"/>
<classpathentry exported="true" kind="con" path="org.eclipse.pde.core.requiredPlugins"/>
<classpathentry kind="src" path="src"/>
<classpathentry kind="src" path="test">
<attributes>
<attribute name="optional" value="true"/>
</attributes>
</classpathentry>
<classpathentry exported="true" kind="lib" path="classes" sourcepath="classes"/>
<classpathentry exported="true" kind="lib" path="libs/guava-11.0.2.jar"/>
<classpathentry exported="true" kind="lib" path="libs/jasminclasses.jar"/>
<classpathentry exported="true" kind="lib" path="libs/java_cup.jar"/>
<classpathentry exported="true" kind="lib" path="libs/polyglot.jar"/>
<classpathentry exported="true" kind="lib" path="libs/sootclasses.jar" sourcepath="/Users/cderoove/Downloads/sootsrc-2.5.0.jar"/>
<classpathentry exported="true" kind="lib" path="libs/qwal-1.0.0-SNAPSHOT.jar"/>
<classpathentry exported="true" kind="lib" path="libs/core.logic-0.7.5.jar"/>
<classpathentry kind="output" path="bin"/>
</classpath>
2 changes: 2 additions & 0 deletions EkekoPlugin/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bin
.metadata
34 changes: 34 additions & 0 deletions EkekoPlugin/.project
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?xml version="1.0" encoding="UTF-8"?>
<projectDescription>
<name>EkekoPlugin</name>
<comment></comment>
<projects>
</projects>
<buildSpec>
<buildCommand>
<name>ccw.builder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.jdt.core.javabuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.ManifestBuilder</name>
<arguments>
</arguments>
</buildCommand>
<buildCommand>
<name>org.eclipse.pde.SchemaBuilder</name>
<arguments>
</arguments>
</buildCommand>
</buildSpec>
<natures>
<nature>org.eclipse.pde.PluginNature</nature>
<nature>org.eclipse.jdt.core.javanature</nature>
<nature>ccw.nature</nature>
</natures>
</projectDescription>
2 changes: 2 additions & 0 deletions EkekoPlugin/.settings/ccw.repl.cmdhistory.prefs

Large diffs are not rendered by default.

8 changes: 8 additions & 0 deletions EkekoPlugin/.settings/org.eclipse.jdt.core.prefs
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
#Tue Sep 06 23:00:49 CEST 2011
eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.6
org.eclipse.jdt.core.compiler.compliance=1.6
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.6
56 changes: 56 additions & 0 deletions EkekoPlugin/META-INF/MANIFEST.MF
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
Manifest-Version: 1.0
Bundle-ManifestVersion: 2
Bundle-Name: Ekeko Eclipse Plugin
Bundle-SymbolicName: damp.ekeko.plugin;singleton:=true
Bundle-Version: 1.0.3
Bundle-Activator: damp.ekeko.Activator
Require-Bundle: clojure.osgi,
org.eclipse.ui,
org.eclipse.core.runtime,
org.eclipse.jdt.core,
org.eclipse.core.resources,
ccw.clojure,
org.eclipse.ui.console,
org.eclipse.ui.workbench.texteditor,
org.eclipse.core.expressions,
org.eclipse.ui.ide,
org.eclipse.jface.text,
org.eclipse.jdt.ui,
ccw.core,
org.eclipse.jdt.astview,
org.eclipse.jdt.launching,
org.clojure.tools.nrepl,
ccw.util
Bundle-ActivationPolicy: lazy
Bundle-RequiredExecutionEnvironment: JavaSE-1.6
Bundle-ClassPath: .,
classes/,
libs/guava-11.0.2.jar,
libs/jasminclasses.jar,
libs/java_cup.jar,
libs/polyglot.jar,
libs/sootclasses.jar,
libs/qwal-1.0.0-SNAPSHOT.jar,
libs/core.logic-0.7.5.jar
Export-Package: damp.ekeko;
uses:="org.eclipse.core.runtime,
org.eclipse.jface.resource,
org.eclipse.ui,
org.eclipse.ui.plugin,
org.eclipse.core.commands,
soot,
org.eclipse.jface.action,
org.eclipse.jdt.core.dom,
dk.itu.smartemf.ofbiz.analysis,
org.eclipse.jdt.core,
org.eclipse.core.resources,
org.eclipse.swt.graphics,
org.eclipse.jface.viewers,
org.osgi.framework,
org.eclipse.ui.dialogs,
org.eclipse.swt.widgets,
org.eclipse.jdt.core.dom.rewrite,
org.eclipse.jface.dialogs,
damp.util",
damp.util
Eclipse-BuddyPolicy: registered
20 changes: 20 additions & 0 deletions EkekoPlugin/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
# Ekeko

Ekeko enables querying and manipulating an Eclipse workspace using applicative logic programs.

Its libraries provide support for answering program queries (e.g., "is my code bug free?" or "does my code follow the prescribed design?") as well as transforming programs (e.g., "patch my code as follows") in a declarative manner.

Ekeko is based on the core.logic (https://github.com/clojure/core.logic) port to Clojure (http://clojure.org/) of the declarative applicative programming language Kanren (http://kanren.sourceforge.net/).

Ekeko is meant as the successor to the SOUL logic program query language (http://soft.vub.ac.be/SOUL/), which still hosts links to academic papers about logic program querying.


## Usage

Build or install the Eclipse plugin.

## License

Copyright © 2012 Coen De Roover (damp.ekeko*), Carlos Noguera (barista*)

Distributed under the Eclipse Public License, the same as Clojure.
15 changes: 15 additions & 0 deletions EkekoPlugin/build.properties
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
source.. = src/
output.. = bin/
bin.includes = plugin.xml,\
META-INF/,\
.,\
libs/guava-11.0.2.jar,\
icons/,\
libs/jasminclasses.jar,\
libs/java_cup.jar,\
libs/polyglot.jar,\
libs/sootclasses.jar,\
libs/qwal-1.0.0-SNAPSHOT.jar,\
libs/core.logic-0.7.5.jar,\
build.properties,\
classes/
Binary file added EkekoPlugin/icons/barista.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/baristaS.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/edit-clear.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/ekeko16.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/ekeko46.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/ekeko7.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/go-down.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/go-up.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/sample.gif
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/icons/view-refresh.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added EkekoPlugin/libs/core.logic-0.7.5.jar
Binary file not shown.
Binary file added EkekoPlugin/libs/guava-11.0.2.jar
Binary file not shown.
Binary file added EkekoPlugin/libs/jasminclasses.jar
Binary file not shown.
Binary file added EkekoPlugin/libs/java_cup.jar
Binary file not shown.
Binary file added EkekoPlugin/libs/polyglot.jar
Binary file not shown.
Binary file added EkekoPlugin/libs/qwal-1.0.0-SNAPSHOT.jar
Binary file not shown.
Binary file added EkekoPlugin/libs/sootclasses.jar
Binary file not shown.
Loading

0 comments on commit e0fe4af

Please sign in to comment.