My solutions for http://www.cubix-framework.com/tutorial.html
You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
3 years ago | |
---|---|---|
input-files | 3 years ago | |
scripts | 3 years ago | |
solutions | 3 years ago | |
test | 3 years ago | |
tutorial | 3 years ago | |
.gitignore | 3 years ago | |
LICENSE | 3 years ago | |
README.md | 3 years ago | |
Setup.hs | 3 years ago | |
commons-lang3-3.2-SNAPSHOT.jar | 3 years ago | |
cubix-tutorial.cabal | 3 years ago | |
javaparser-1.0.8.jar | 3 years ago | |
javaparser-to-hs.jar | 3 years ago | |
package.yaml | 3 years ago | |
stack.yaml | 3 years ago |
README.md
These are the exercises accompanying the Cubix tutorial. They are found in the tutorial
folder.
- Exercise 1: Language fragments: Creating a toy language using the style of representation used by Cubix
- Exercise 2: Parametric syntax: Writing a small transformation that runs on multiple languages
- Exercise 3: Incremental parametric syntax: Expressing a language using a hybrid of language-specific and generic parts
- Exercise 4: Language-parametric transformation: Writing a sanitization transformation that runs on C, Java, JavaScript, Lua, and Python
Getting started
Open the documentation for Cubix.Essentials
. This is a companion to this tutorial. It contains everything
you will need to complete the exercises, organized in a tutorial form.
For exercise 2 and later, you'll also want to open the documentation for Cubix.Language.Parametric.Syntax
,
which contains the generic nodes shared across language representations.
Now, open up tutorial/ex1/Main.hs
and start following along.
To build:
./scripts/fastbuild.sh # Normal "stack build" also suffices
To run your exercises
stack exec tut1 # Or tut2, tut3, tut4
To run the standard solutions
stack exec soln1 # Or soln2, soln3, soln4