text: from openql import openql as ql
  import os
  import argparse
  
  def circuit(config_file, new_scheduler='yes', scheduler='ASAP', uniform_sched= 'no', sched_commute = 'yes', mapper='base', moves='no', maptiebreak='random', initial_placement='no', output_dir_name='test_output', optimize='no', measurement=True, log_level='LOG_WARNING'):
      curdir = os.path.dirname(__file__)
      output_dir = os.path.join(curdir, output_dir_name)
      ql.set_option('output_dir', output_dir)
      ql.set_option('optimize', optimize)
      ql.set_option('scheduler', scheduler)
      ql.set_option('scheduler_uniform', uniform_sched)
      ql.set_option('mapper', mapper)
      ql.set_option('initialplace', initial_placement)
      ql.set_option('log_level', log_level)
      ql.set_option('scheduler_post179', new_scheduler)
      ql.set_option('scheduler_commute', sched_commute)
      ql.set_option('mapusemoves', moves)
      ql.set_option('maptiebreak', maptiebreak)
  
      config_fn = os.path.join(curdir, config_file)
  
      # platform  = ql.Platform('platform_none', config_fn)
      platform  = ql.Platform('starmon', config_fn)
      num_circuits = 1
      num_qubits = 8
      p = ql.Program('cm82a_208', platform, num_qubits)
      k = ql.Kernel('cm82a_208', platform, num_qubits)
      k.gate('h',[0])
      k.gate('t',[7])
      k.gate('t',[3])
      k.gate('t',[0])
      k.gate('cnot',[3,7])
      k.gate('cnot',[0,3])
      k.gate('cnot',[7,0])
      k.gate('tdag',[3])
      k.gate('cnot',[7,3])
      k.gate('tdag',[7])
      k.gate('tdag',[3])
      k.gate('t',[0])
      k.gate('cnot',[0,3])
      k.gate('cnot',[7,0])
      k.gate('cnot',[3,7])
      k.gate('h',[0])
      k.gate('h',[1])
      k.gate('t',[7])
      k.gate('t',[5])
      k.gate('t',[1])
      k.gate('cnot',[5,7])
      k.gate('cnot',[1,5])
      k.gate('cnot',[7,1])
      k.gate('tdag',[5])
      k.gate('cnot',[7,5])
      k.gate('tdag',[7])
      k.gate('tdag',[5])
      k.gate('t',[1])
      k.gate('cnot',[1,5])
      k.gate('cnot',[7,1])
      k.gate('cnot',[5,7])
      k.gate('h',[1])
      k.gate('h',[2])
      k.gate('t',[6])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('cnot',[5,6])
      k.gate('cnot',[2,5])
      k.gate('cnot',[6,2])
      k.gate('tdag',[5])
      k.gate('cnot',[6,5])
      k.gate('tdag',[6])
      k.gate('tdag',[5])
      k.gate('t',[2])
      k.gate('cnot',[2,5])
      k.gate('cnot',[6,2])
      k.gate('cnot',[5,6])
      k.gate('h',[2])
      k.gate('h',[1])
      k.gate('t',[6])
      k.gate('t',[5])
      k.gate('t',[1])
      k.gate('cnot',[5,6])
      k.gate('cnot',[1,5])
      k.gate('cnot',[6,1])
      k.gate('tdag',[5])
      k.gate('cnot',[6,5])
      k.gate('tdag',[6])
      k.gate('tdag',[5])
      k.gate('t',[1])
      k.gate('cnot',[1,5])
      k.gate('cnot',[6,1])
      k.gate('cnot',[5,6])
      k.gate('h',[1])
      k.gate('h',[1])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[1])
      k.gate('cnot',[6,7])
      k.gate('cnot',[1,6])
      k.gate('cnot',[7,1])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[1])
      k.gate('cnot',[1,6])
      k.gate('cnot',[7,1])
      k.gate('cnot',[6,7])
      k.gate('h',[1])
      k.gate('x',[6])
      k.gate('x',[5])
      k.gate('h',[0])
      k.gate('t',[3])
      k.gate('t',[4])
      k.gate('t',[0])
      k.gate('cnot',[4,3])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('tdag',[4])
      k.gate('cnot',[3,4])
      k.gate('tdag',[3])
      k.gate('tdag',[4])
      k.gate('t',[0])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('cnot',[4,3])
      k.gate('h',[0])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[0])
      k.gate('t',[3])
      k.gate('t',[4])
      k.gate('t',[0])
      k.gate('cnot',[4,3])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('tdag',[4])
      k.gate('cnot',[3,4])
      k.gate('tdag',[3])
      k.gate('tdag',[4])
      k.gate('t',[0])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('cnot',[4,3])
      k.gate('h',[0])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[2])
      k.gate('t',[6])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('cnot',[5,6])
      k.gate('cnot',[2,5])
      k.gate('cnot',[6,2])
      k.gate('tdag',[5])
      k.gate('cnot',[6,5])
      k.gate('tdag',[6])
      k.gate('tdag',[5])
      k.gate('t',[2])
      k.gate('cnot',[2,5])
      k.gate('cnot',[6,2])
      k.gate('cnot',[5,6])
      k.gate('h',[2])
      k.gate('h',[0])
      k.gate('t',[4])
      k.gate('t',[3])
      k.gate('t',[0])
      k.gate('cnot',[3,4])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('tdag',[3])
      k.gate('cnot',[4,3])
      k.gate('tdag',[4])
      k.gate('tdag',[3])
      k.gate('t',[0])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('cnot',[3,4])
      k.gate('h',[0])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[0])
      k.gate('t',[4])
      k.gate('t',[3])
      k.gate('t',[0])
      k.gate('cnot',[3,4])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('tdag',[3])
      k.gate('cnot',[4,3])
      k.gate('tdag',[4])
      k.gate('tdag',[3])
      k.gate('t',[0])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('cnot',[3,4])
      k.gate('h',[0])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('x',[5])
      k.gate('x',[6])
      k.gate('cnot',[3,1])
      k.gate('cnot',[4,1])
      k.gate('x',[3])
      k.gate('h',[0])
      k.gate('t',[4])
      k.gate('t',[3])
      k.gate('t',[0])
      k.gate('cnot',[3,4])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('tdag',[3])
      k.gate('cnot',[4,3])
      k.gate('tdag',[4])
      k.gate('tdag',[3])
      k.gate('t',[0])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('cnot',[3,4])
      k.gate('h',[0])
      k.gate('x',[7])
      k.gate('cnot',[7,2])
      k.gate('h',[0])
      k.gate('t',[7])
      k.gate('t',[4])
      k.gate('t',[0])
      k.gate('cnot',[4,7])
      k.gate('cnot',[0,4])
      k.gate('cnot',[7,0])
      k.gate('tdag',[4])
      k.gate('cnot',[7,4])
      k.gate('tdag',[7])
      k.gate('tdag',[4])
      k.gate('t',[0])
      k.gate('cnot',[0,4])
      k.gate('cnot',[7,0])
      k.gate('cnot',[4,7])
      k.gate('h',[0])
      k.gate('x',[4])
      k.gate('h',[0])
      k.gate('t',[4])
      k.gate('t',[3])
      k.gate('t',[0])
      k.gate('cnot',[3,4])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('tdag',[3])
      k.gate('cnot',[4,3])
      k.gate('tdag',[4])
      k.gate('tdag',[3])
      k.gate('t',[0])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('cnot',[3,4])
      k.gate('h',[0])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[0])
      k.gate('t',[4])
      k.gate('t',[3])
      k.gate('t',[0])
      k.gate('cnot',[3,4])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('tdag',[3])
      k.gate('cnot',[4,3])
      k.gate('tdag',[4])
      k.gate('tdag',[3])
      k.gate('t',[0])
      k.gate('cnot',[0,3])
      k.gate('cnot',[4,0])
      k.gate('cnot',[3,4])
      k.gate('h',[0])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[3])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[3])
      k.gate('cnot',[2,5])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[3])
      k.gate('cnot',[3,2])
      k.gate('cnot',[5,3])
      k.gate('cnot',[2,5])
      k.gate('h',[3])
      k.gate('h',[0])
      k.gate('t',[3])
      k.gate('t',[4])
      k.gate('t',[0])
      k.gate('cnot',[4,3])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('tdag',[4])
      k.gate('cnot',[3,4])
      k.gate('tdag',[3])
      k.gate('tdag',[4])
      k.gate('t',[0])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('cnot',[4,3])
      k.gate('h',[0])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[0])
      k.gate('t',[3])
      k.gate('t',[4])
      k.gate('t',[0])
      k.gate('cnot',[4,3])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('tdag',[4])
      k.gate('cnot',[3,4])
      k.gate('tdag',[3])
      k.gate('tdag',[4])
      k.gate('t',[0])
      k.gate('cnot',[0,4])
      k.gate('cnot',[3,0])
      k.gate('cnot',[4,3])
      k.gate('h',[0])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
      k.gate('h',[2])
      k.gate('t',[7])
      k.gate('t',[6])
      k.gate('t',[2])
      k.gate('cnot',[6,7])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('tdag',[6])
      k.gate('cnot',[7,6])
      k.gate('tdag',[7])
      k.gate('tdag',[6])
      k.gate('t',[2])
      k.gate('cnot',[2,6])
      k.gate('cnot',[7,2])
      k.gate('cnot',[6,7])
      k.gate('h',[2])
      k.gate('h',[4])
      k.gate('t',[5])
      k.gate('t',[2])
      k.gate('t',[4])
      k.gate('cnot',[2,5])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('tdag',[2])
      k.gate('cnot',[5,2])
      k.gate('tdag',[5])
      k.gate('tdag',[2])
      k.gate('t',[4])
      k.gate('cnot',[4,2])
      k.gate('cnot',[5,4])
      k.gate('cnot',[2,5])
      k.gate('h',[4])
  
      if measurement:
          for q in range(num_qubits):
              k.gate('measure', [q])
  
      p.add_kernel(k)
      p.compile()
      ql.set_option('mapper', 'no')
  
  if __name__ == '__main__':
      parser = argparse.ArgumentParser(description='OpenQL compilation of a Quantum Algorithm')
      parser.add_argument('config_file', help='Path to the OpenQL configuration file to compile this algorithm')
      parser.add_argument('--new_scheduler', nargs='?', default='yes', help='Scheduler defined by Hans')
      parser.add_argument('--scheduler', nargs='?', default='ASAP', help='Scheduler specification (ASAP (default), ALAP, ...)')
      parser.add_argument('--uniform_sched', nargs='?', default='no', help='Uniform shceduler actication (yes or no)')
      parser.add_argument('--sched_commute', nargs='?', default='yes', help='Permits two-qubit gates to be commutable')
      parser.add_argument('--mapper', nargs='?', default='base', help='Mapper specification (base, minextend, minextendrc)')
      parser.add_argument('--moves', nargs='?', default='no', help='Let the use of moves')
      parser.add_argument('--maptiebreak', nargs='?', default='random', help='')
      parser.add_argument('--initial_placement', nargs='?', default='no', help='Initial placement specification (yes or no)')
      parser.add_argument('--out_dir', nargs='?', default='test_output', help='Folder name to store the compilation')
      parser.add_argument('--measurement', nargs='?', default=True, help='Add measurement to all the qubits in the end of the algorithm')
      args = parser.parse_args()
      try:
          circuit(args.config_file, args.new_scheduler, args.scheduler, args.uniform_sched, args.sched_commute, args.mapper, args.moves, args.maptiebreak, args.initial_placement, args.out_dir)
      except TypeError:
          print('\nCompiled, but some gate is not defined in the configuration file. \nThe gate will be invoked like it is.')
          raise