Git Product home page Git Product logo

oncotime's Introduction

OncoTime

OncoTime is an experimental Domain Specific Language which allows for easy analysis and visualization of patient treament paths in radiation oncology.

This implementation was undertaken as the project for COMP 520: Compiler Design taught by Laurie Hendren at McGill University. Our compiler is written in Haskell using the Parsec parser combinator library and compiles OncoTime programs down to JavaScript.

Our compiler's name is Doc.

We have set up a number of scripts to help with building and running. We have

build.sh - run this to build the project, and get a copy of the executable in the top-level folder
tests.sh - runs the tests (it runs the compiler on programs in programs/valid/ and programs/invalid/)
everything.sh - runs both of the above two scripts

To Build

We can use either the build.sh script, or:

cabal sandbox init
cabal install --only-dependencies
cabal build

# To install node dependencies
npm install

The flags are supported and can be used thusly:

./doc <filename> --pptype --dumpsymtab

We also support -h / --help and -v / --version flags.

Note that we have a config.conf file. This file must be at the top-level directory i.e. must be in the same directory as the doc executable.

To Run

  • The compiled compiler is compiled into the dist/build/doc directory
  • We've kept a copy of an executable at the top-level. Simply run ./doc <filename>

oncotime's People

Contributors

bregord avatar shivankaul avatar yusaira-khan avatar dridon avatar

Stargazers

Rodrigo Ferreira avatar Matthew avatar Howard Aleshire avatar Muhammad N ElNokrashy avatar

Watchers

James Cloos avatar  avatar  avatar  avatar

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.