Skip to content

A grammar for parsing Quipper ASCII output to a Python AST.

License

Notifications You must be signed in to change notification settings

cqc-alec/quippy

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

78 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Quippy

Quippy is a parser for quantum circuit descriptions produces by Quipper. Specifically, Quipper can output an ASCII description of the circuit, which can then be parsed by Quippy.

Quippy provides a default parser in quippy.parser that will parse given text as:

import quippy
parsed:quippy.Start = quippy.parser().parse(text)

The parsed format uses an quippy.Start object to represent the Quipper circuit by default. This is a nice Object representation of the circuit the Abstract Syntax Tree is directly transformed to by quippy.transformer.QuipperTransformer. The resulting parsed object will have as type a Start object which will make the structure of the parse tree much clearer. If you do no wish to use the included transformer but would rather have a general AST then pass:

quippy.parser(transformer=None)

We use the optional static typing provided in PEP 484 to provide types for the returned objects, this was included in Python 3.5 or higher. Python 3.6 or higher is recommended.

About

A grammar for parsing Quipper ASCII output to a Python AST.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.0%
  • GAP 8.0%