https://github.com/stil4m/ogol
Logo
https://github.com/stil4m/ogol
Last synced: 2 months ago
JSON representation
Logo
- Host: GitHub
- URL: https://github.com/stil4m/ogol
- Owner: stil4m
- Created: 2015-08-05T19:47:03.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2015-08-20T15:08:21.000Z (over 9 years ago)
- Last Synced: 2025-01-21T18:51:44.264Z (4 months ago)
- Language: JavaScript
- Size: 140 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
##SSPMSE 2015: Compilers and Term Rewriting
##Ogol lab
**The labs take place between 13:00 and 17:00 in A1.04.**### 1. Introduction
In the Master Software Engineering the creation and understanding of working software is highly valued. For the topic of compilers we make no exception. In the summer school we will thus spend quite a lot of lab-time applying theoretical concepts and creating (parts of) working compilers. The lab will focus on the language Ogol, which is like [Logo](https://en.wikipedia.org/wiki/UCBLogo), but without side-effects (among other features). We will be working within the Eclipse IDE with Rascal, and use GitHub as a base.### 2. Preparation
* Install and explore the meta-programming language [Rascal](http://www.rascal-mpl.org) in the [Eclipse IDE (version Luna, for RCP and RAP Developers)](http://www.eclipse.org/downloads/packages/eclipse-rcp-and-rap-developers/lunasr2).
* Fork the [Ogol GitHub project](https://github.com/software-engineering-amsterdam/ogol) to your own account and clone it in your Eclipse workspace.### 3. Assignments
#### Overview
| Day | Assignment |
|-----------|----------------------------------------------------------------|
| Monday | Learn Rascal by following the Rascal Tutor and doing the test. |
| Tuesday | Write a grammar for Ogol and parse some Ogol code. |
| Wednesday | Write an interpreter for Ogol and run it on some examples. |
| Thursday | Implement call graph extraction and name analysis for Ogol. |
| Friday | Present your work and be assessed. |#### Monday
#### Tuesday
#### Wednesday
#### Thursday
#### Friday