Skip to content

The implementation of the PAMOJA component framework, providing a coherent set of lightweight components for Grammar-Aware Engineering (GAE) in an Integrated Development Environment (IDE) such as Eclipse and NetBeans. In particular, PAMOJA includes components that deal with transformation of language terms from concrete textual form to abstract …

License

ssanyu/PAMOJA

Repository files navigation

PAMOJA - A Component-Framework for Grammar-Aware Engineering

PAMOJA is a Java-based component framework providing support for grammar-aware engineering (GAE) in an integrated development environment (IDE). It provides a coherent set of components and wizards that deal with transformation of language terms from a concrete textual form to abstract syntax trees (ASTs) and the converse transformation from abstract to concrete. PAMOJA offers easier incorporation of GAE tasks, such as scanning, parsing, tree building, and formatting, in general IDEs (like NetBeans and Eclipse) so that they can be used in the construction of all kinds of software applications – other than compilers- that do some language processing as a necessary but subordinate task. The main development styles supported by PAMOJA are drag-and-drop functionality and wizards commonly found in modern IDEs.

In the PAMOJA project we are investigating the development of GAE applications by consciously applying CBSD techniques. Applications range from language front-ends to general software which needs to incorporate GAE processing.

Please note that PAMOJA is a research project and while we do endeavor to create useful and quality software components, there may be bugs and missing functionality. We advise users to use them with caution for "serious" work. We otherwise make no guarantees about the features or performance of PAMOJA.

Contact

Jackline Ssanyu

jssanyu@kyu.ac.ug jackie_ssanyu@yahoo.com

Downloads

PAMOJA components have been packaged in a JAR and the wizards as NBM modules.

Type Download
PAMOJA components JAR
Parser generator wizard NBM
SignatureAPI generator wizard NBM

Documentation

An overview of PAMOJA's capabilities, installation instructions and an example usage can be found in the User Manual. PAMOJA has been used to develop non-trivial applications. PAMOJA's API documentation can be found in the javadoc.

Example Applications

PAMOJA is being used to develop a couple of non-trivial applications:

  • HybridEditor - A text/structure editor component which can be adapted to a programming language
  • Compiler Lab toolset - A toolset to support in the teaching of courses on language processing

About

The implementation of the PAMOJA component framework, providing a coherent set of lightweight components for Grammar-Aware Engineering (GAE) in an Integrated Development Environment (IDE) such as Eclipse and NetBeans. In particular, PAMOJA includes components that deal with transformation of language terms from concrete textual form to abstract …

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages