Giter Site home page Giter Site logo

ayrtonmassey / proj Goto Github PK

View Code? Open in Web Editor NEW
2.0 2.0 1.0 5.67 MB

UG4 Honours Project

Python 5.29% CSS 1.36% HTML 10.81% JavaScript 53.02% Makefile 0.05% TeX 29.47%
dataflow-compiler dataflow dataflow-analysis website app webapplication compiler simulator

proj's Introduction

An Interactive Learning Platform for Compiler Data-Flow Analysis

*UG4 Honours Project: Ayrton Massey, s1208057

Application

You can access the application at the following URL:

Contents

This archive contains the application code & required libraries, dissertation raw files, compiled dissertation files and any miscellaneous notes taken throughout the project.

The following is a list of root directories and their contents:

  • app/

    • The main JavaScript application files and libraries
  • tracking_api/

    • The Django REST Framework API for tracking interaction events
  • dissertation/

    • The dissertation raw and compiled files
  • data/

    • The raw data used to conduct the evaluation and the code required to generate the graphs
  • rdsim/

    • A python simulator of reaching definitions analysis, written as a preliminary experiement
  • misc/

    • Notes taken throughout the project and any other unimportant, but relevant, files

Installing the Learning Platform Application

The application is hosted at the following URL:

If you simply wish to use it, not set one up for yourself, please visit it at this address.

Otherwise, the platform consists entirely of client-side JavaScript, CSS and HTML and should be suitable for hosting on any standard HTTP server such as Apache or Nginx. Copying the entire app/ folder to your www/ directory should be sufficient.

The application requires the peg.js and handlebars node packages in order to compile the templates and grammar. If you make any changes to these files, you must navigate to the app/ directory and run the make command (makefile is included).

It is also possible to view the files on the local filesystem by navigating to the following address in your web browser:

  • file:///path/to/proj/index.html

At present, external libraries are included via CDN links (with some exceptions) so an internet connection is required to use the application. All of the necessary library files are included locally, but you will have to uncomment the lines in index.html to use these files.

If you have any questions, e-mail me @ [email protected].

Data-Flow Analysis Simulator

If you wish to separate the simulator for use in your own project, simply copy the app/js/simulator/ directory to another location. You may also require js/kludge.js for some functionality.

Installing the Tracking API

Installing the tracking API requires additional set-up using the mod_wsgi module for Apache (assuming you are hosting via Apache).

Instructions for setting up Django REST Framework applications are available on the web.

Dissertation

The dissertation was compiled using TeXLive 2015. You may recompile it with this distribution.

A fully copy is included as dissertation/main.pdf, and a version split into black and white / colour copies is available in dissertation/split.

Final Comments

If you have any questions, e-mail me @ [email protected] or open an issue in this project.

proj's People

Contributors

ayrtonmassey avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar

Forkers

chenguoming1

proj's Issues

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.