Skip to content

MadsBalslev/SW4-2022

Repository files navigation

4th Semester project, BSc Software AAU - Fannie

Contributors Forks Stargazers Issues MIT License

Fannie - A Recipe Language Specification

The goal of this recipe specification language is to give authors, programmers and home cooks a tool for writing good and correct recipes. No more missing or misused ingredients or tools throught the recipe. Fannie will help you keep track of it all, while giving you the opportunity of writing flavorful descriptions to the steps in your recipe.
Explore the docs »

About The Project

Purpose

That the student learns how to design and implement a programming language and how this process can be supported by formal definitions of the language's syntax and semantics and techniques and methods for translator and / or interpreter construction.

Reason

All software is written in a programming language and is translated or interpreted in order to be executed. Design, description and construction of Programming languages, translators, interpreters and similar tools are therefore central topics in computer science.

Therefore, the project work focuses on ensuring that the students understand important underlying concepts in the world of programming languages, why these concepts have arisen and how they are formally described and represented in an implementation. Understanding these topics is fundamental in understanding new and existing programming languages and their applications.

Furthermore, many techniques and tools, originally developed for languages and translators, are also used in other contexts in program development.

(back to top)

Built With

(back to top)

Getting Started

There are two ways to run the program. Either with the JAR executable or by setting up the project locally and running it with Maven

Downloading the executable

The easiest way to run the porogram is to download the JAR executable from the releases. This can then be run with the command:

  $ java -jar [PATH TO fannie.jar] [PATH TO FANNIE RECIPE]

Running from source

This is an example of how you could start setting up your project locally. To get a local copy up and running follow these simple example steps.

  1. Clone the repo:
    git clone https://github.com/MadsBalslev/SW4-2022.git
  2. Then cd into fannie-compiler and run:
    mvn clean install

(back to top)

Usage

After the installation is done, you can now begin writing recipes in the fannie language!

First create a file with the ending .fannie.

Afterwards open up the pom.xml file, which is located under the fannie-compiler folder. In there you should navigate to

<arguments>
    <argument>../RecipeExamples/Pasta.fannie</argument>
</arguments> 

and change the path to your own recipe.

When you want to compile the recipe, simply type mvn exec:java into your terminal, and watch it compile.

And success! You have now created a good and correct recipe, which got converted into three formats for you to use.

Bone apple tea!

License

Distributed under the MIT License. See LICENSE.txt for more information.

(back to top)

Contact

Project Link: https://github.com/MadsBalslev/SW4-2022

(back to top)

Acknowledgments

Guidance

  • Sean Kauffman

Development

(back to top)