XACC
quilc.hpp
1 /*******************************************************************************
2  * Copyright (c) 2019 UT-Battelle, LLC.
3  * All rights reserved. This program and the accompanying materials
4  * are made available under the terms of the Eclipse Public License v1.0
5  * and Eclipse Distribution License v1.0 which accompanies this
6  * distribution. The Eclipse Public License is available at
7  * http://www.eclipse.org/legal/epl-v10.html and the Eclipse Distribution
8  *License is available at https://eclipse.org/org/documents/edl-v10.php
9  *
10  * Contributors:
11  * Alexander J. McCaskey - initial API and implementation
12  *******************************************************************************/
13 #ifndef IMPLS_RIGETTI_QUILC_HPP_
14 #define IMPLS_RIGETTI_QUILC_HPP_
15 
16 #include "Compiler.hpp"
17 #include "Utils.hpp"
18 
19 namespace xacc {
20 namespace quilc {
21 
22 
23 class Quilc : public xacc::Compiler {
24 public:
25  Quilc();
26 
27  std::shared_ptr<xacc::IR> compile(const std::string &src,
28  std::shared_ptr<Accelerator> acc) override;
29 
30  bool canParse(const std::string& src) override;
31 
32  std::shared_ptr<xacc::IR> compile(const std::string &src) override;
33 
34  const std::string translate(std::shared_ptr<CompositeInstruction> function) override {return "";}
35 
36  const std::string name() const override { return "quilc"; }
37 
38  const std::string description() const override {
39  return "";
40  }
41 
42  virtual ~Quilc() {}
43 };
44 
45 } // namespace quantum
46 
47 } // namespace xacc
48 
49 #endif
Definition: quilc.hpp:23
Definition: Accelerator.hpp:25
const std::string name() const override
Definition: quilc.hpp:36
Definition: Compiler.hpp:24
const std::string description() const override
Definition: quilc.hpp:38