Release Highlights
- Added support for ForInLoop, branching, QuantumMeasurementAssignment, ClassicalAssignment, QuantumBarrier
- Added initial support for types with working implementations for UnsignedInteger, BitArrayType, AngleType and SignedIntegerType
- Initial testing routing with support for types UnsignedIntegerType, BitArrayType, SignedIntegerType, AngleType, ClassicalType
- Updated: File parsing and argument parsing for build_ast.py
Update notes
- Added Initial implementation for types.py
- Update log
- source/openqasm/src/openqasm/translator/context.py -
- Span now optional
- Context can now use the AssignmentOperator to assign value to previously declared symbol
- Added support to store types
- source/openqasm/src/openqasm/translator/translator.py -
- Updated quantum_gate definition
- Updated PhaseGate definition
- Added ForInLoop support. Added_get_range method with exception handling for wrong RangeDefinition
- Added support for branching from context
- Added_process_QuantumMeasurementAssignment for processing quantum measurement assignment as per AST
- Improved file parsing routine
- Added support to process ClassicalAssignment and QuantumBarrier
- Quantum gate definitions now support names.
- include_dirs, program_ast and includes_asts attributes now private
- source/openqasm/src/openqasm/translator/test.py - Added basic testing functionality for types UnsignedIntegerType, BitArrayType, SignedIntegerType, AngleType, ClassicalType using pytest
- source/openqasm/src/openqasm/translator/identifiers.py -
- Updated get_identifier return type. All identifier types now have a common interface.
- source/openqasm/src/openqasm/translator/expressions.py -
- Expression evaluation now has its own function dict instead of eval calls
- Added constants : Tau, euler
- Added support for AssignmentOperator
- source/openqasm/src/openqasm/translator/exceptions.py -
- Added WrongRange exception when mandatory range values are missing
- Added InvalidIncludePath exception when file specified is not present in any of the include paths. Also provides info on include paths if applicable.
- Added ClassicalOverFlow exception when there is an integer overflow
- Added InvalidOperation exception when given operator is not implemented for a given type with support for SignedIntegertypes
- Added InvalidTypeAssignment when wrong types of operands are evaluated
- source/openqasm/src/openqasm/translator/types.py - Initial implementation for types.py
- Added “working” implementation of UnsignedInteger and BitArrayType
- Added “working” support for SignedIntegerType
- Added BitArray and Angle support
- source/openqasm/src/openqasm/build_ast.py -
- Update file parsing and input argument specification
- Added –help args and –translate flag
- Now uses stdlib argparse to parse cli arguments
- Merged aspcompiler:master into refimpl
- Notable changes: index set can now be specified by a signed or unsigned integer
- source/openqasm/src/openqasm/translator/context.py -