Enfield
An OpenQASM source-to-source compiler for optimization.
Enfield

This project was built on top of Bison (v3.0.2) and Flex (2.5.39).

Check out the documentation here!!

Building

Enfield uses CMake. So, in order to build this project, issue the following commands:

$ mkdir build && cd build
$ cmake ../
$ make

Testing

Enfield uses the Google test framework to test its components. To enable automated tests, you should issue the cmake command as follows:

$ cmake ../ -DENABLE_TESTS=on
$ make && make test

It is possible to specify the root folder of the GTest framework. In order to do that, you should pass to cmake the option -DGTEST_ROOT=<path-to-gtest-libs>.

Hacking

Even though this project is pretty new, it was designed to be extensible. So, here are a few tips in order to implement your own algorithm to your desired architecture. Below, I'll list some classes that are important to be aware of.

(Note that this is a 'begginers guide', so you can do more stuff once you learn the code)