cao: CAO Compiler

[ compiler, cryptography, language, program ] [ Propose Tags ] [ Report a vulnerability ]

CAO Compiler


[Skip to Readme]

Downloads

Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees

Candidates

Versions [RSS] 0.1, 0.1.1
Dependencies array, base (>=4 && <5), cmdargs, ConfigFile, containers, directory, dlist, filepath, language-c, mtl, pretty, process, yices [details]
Tested with ghc ==7.6.3
License LicenseRef-GPL
Author Cryptography and Information Security Group, HASLab - INESC TEC and Universidade do Minho
Maintainer Paulo Silva <paufil@di.uminho.pt>
Category Compiler, Cryptography, Language
Home page http://haslab.uminho.pt/mbb/software/cao-domain-specific-language-cryptography
Bug tracker mailto:paufil@di.uminho.pt
Uploaded by tfaoliveira at 2014-04-07T18:21:53Z
Distributions
Reverse Dependencies 1 direct, 0 indirect [details]
Executables cao
Downloads 2039 total (7 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs not available [build log]
All reported builds failed as of 2016-11-04 [all 9 reports]

Readme for cao-0.1.1

[back to package description]
CAO Compiler
====================

0. Dependencies
---
To build the CAO Compiler you need: 
 - happy 
 - alex
 - cabal package manager

We recommend the installation of the Haskell Platform which contains all the aforementioned dependencies:
 http://hackage.haskell.org/platform/ 

1. Build instructions
---
$ cabal configure
$ cabal build
$ cabal install
---

2. Run dependencies (optional)
---
To run the CAO Compiler you may need:
 - Yices SMT solver (version 1)

This SMT solver is used to check some more complex conditions when typechecking a CAO program. 
The compiler works without Yices but some conditions may not be verified. A warning is shown in these cases.

3. Backend library dependencies
---
To compile the generated code with the backend library you need:
 - NTL 
 - GMP (optional)

NTL is available from 
 http://www.shoup.net/ntl/
GMP is available from 
 https://gmplib.org

Information about how to compile NTL with GMP can be found here:
 http://www.shoup.net/ntl/doc/tour-gmp.html

4. Run instructions
---
To see a description of all compiler options:
$ cao help

The basic compiler usage is:
$ cao comp [cao-file]

5. Example
---
In the 'example' directory you can find a CAO implementation of the SHA1 hash algorithm.
The Makefile provides an example of how a generated C program can be compiled and linked with the backend library.
You may have to adjust the script variable 'CAO_PATH' to the root directory of your installation.

Contact Information
-------------------

Bugs/Suggestions please mail to:

Manuel Barbosa - mbb@di.uminho.pt
Paulo Silva    - paufil@di.uminho.pt

Contributors:
-------------

B�rbara Vieira - barbarasv@di.uminho.pt
David Castro   - dcastro@di.uminho.pt
H�lder Pereira - hpereira@di.uminho.pt
Manuel Barbosa - mbb@di.uminho.pt
Miguel Marques - mmarques@di.uminho.pt
Nuno Rodrigues - nfr@di.uminho.pt
Paulo Silva    - paufil@di.uminho.pt
Tiago Oliveira - tfaoliveira@di.uminho.pt