Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/hpi-swa/gramada
Gramada is an interactive development environment for programming languages defined in Ohm. It is based on Vivide and implemented in Squeak/Smalltalk.
https://github.com/hpi-swa/gramada
development-environment interactive ohm parsing smalltalk squeak
Last synced: 30 days ago
JSON representation
Gramada is an interactive development environment for programming languages defined in Ohm. It is based on Vivide and implemented in Squeak/Smalltalk.
- Host: GitHub
- URL: https://github.com/hpi-swa/gramada
- Owner: hpi-swa
- Created: 2015-09-24T11:48:23.000Z (over 9 years ago)
- Default Branch: master
- Last Pushed: 2020-03-06T14:02:12.000Z (almost 5 years ago)
- Last Synced: 2024-11-07T11:43:54.651Z (3 months ago)
- Topics: development-environment, interactive, ohm, parsing, smalltalk, squeak
- Language: Smalltalk
- Homepage:
- Size: 953 KB
- Stars: 15
- Watchers: 14
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Gramada
Gramada is a live programming environment for developing programming languages. There is an online [demo video](https://vimeo.com/180190846) giving an overview of the Gramada tool set.## Installation
### Get a Prepared Image
You can get a prepared image [here](https://www.hpi.uni-potsdam.de/hirschfeld/artefacts/gramada/).### Build your Own
1. Get [Squeak 5.0 or later](http://www.squeak.org)
2. Load [Metacello](https://github.com/Metacello/metacello). To speed up the process you can also get a prebuild Vivide image from the Vivide repository.
3. Execute the following script to install Gramada:````Smalltalk
Metacello new
baseline: 'Gramada';
repository: 'github://hpi-swa/gramada/repository';
load.
(Smalltalk at: #GramadaScripts) installAndOpenGramada.
````## Updating
To update Gramada first pull the latest version of the git repository. Then execute the following script:````Smalltalk
{
(Metacello new
baseline: 'Vivide';
repository: 'github://hpi-swa/vivide/repository') .
(Metacello new
baseline: 'Ohm';
repository: 'github://hpi-swa/ohm-s/packages') .
(Smalltalk at: #Metacello) new
baseline: 'Gramada';
repository: 'github://hpi-swa/gramada/repository'
}
do: [:b | b get];
do: [:b | b load].
````## Further Documentation
* A short screencast of a common workflow: https://vimeo.com/180190846
* Patrick Rein and Robert Hirschfeld and Marcel Taeumel.
*Gramada: Immediacy in Programming Language Development.*
In Proceedings of the ACM Symposium for New Ideas, New Paradigms, and Reflections on Everything to do with Programming and Software (Onward!) 2016, co-located with the Conference on Object-oriented Programming, Systems, Languages, and Applications (OOPSLA) 2016. pages 165–179, ACM, 2016. [online version](http://dl.acm.org/authorize?N26270)### How to cite this work
If you did work based on / or build with Gramada and want to write about the work, you can reference Gramada as following:````Bibtex
@inproceedings{rein_gramada_2016,
author = {Patrick Rein and
Robert Hirschfeld and
Marcel Taeumel},
title = {Gramada: Immediacy in Programming Language Development},
booktitle = {Symposium on New Ideas, New Paradigms, and
Reflections on Programming and Software (Onward!) 2016},
pages = {165--179},
year = {2016},
month = {November},
location = {Amsterdam, The Netherlands},
crossref = {DBLP:conf/oopsla/2016onward},
url = {http://doi.acm.org/10.1145/2986012.2986022},
doi = {10.1145/2986012.2986022},
timestamp = {Thu, 27 Oct 2016 15:08:50 +0200},
biburl = {http://dblp.uni-trier.de/rec/bib/conf/oopsla/ReinHT16},
bibsource = {dblp computer science bibliography, http://dblp.org}
}
````