Giter Club home page Giter Club logo

ssanyu / pamoja Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 0.0 6.3 MB

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 syntax trees (ASTs) and the converse transformation from abstract to concrete.

License: Apache License 2.0

Java 100.00% HTML 0.01%
language-engineering component-frameworks scanner-generator parser-generator domain-specific-languages grammar-based-systems language-front-ends

pamoja's Introduction

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

[email protected] [email protected]

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

pamoja's People

Contributors

ssanyu avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.