Module Quantumlib.Parser

OpenQASM parser (supports OpenQASM 2.0)

val id : string -> Qasm.id
val nnint : int -> Qasm.nnint
val non_zero : char Opal.LazyStream.t -> (char * char Opal.LazyStream.t) option
val singleton_zero : char Opal.LazyStream.t -> (char list * char Opal.LazyStream.t) option
val parse_nnint : char Opal.LazyStream.t -> (Qasm.nnint * char Opal.LazyStream.t) option
val parse_id : char Opal.LazyStream.t -> (Qasm.id * char Opal.LazyStream.t) option
val let* : ('a -> ('b * 'c) option) -> ('b -> 'c -> 'd option) -> 'a -> 'd option
val parse_idx : char Opal.LazyStream.t -> (Qasm.nnint * char Opal.LazyStream.t) option
val parse_opt_idx : char Opal.LazyStream.t -> (Qasm.nnint option * char Opal.LazyStream.t) option
val parse_arg : char Opal.LazyStream.t -> (Qasm.arg * char Opal.LazyStream.t) option
val parens : (char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option) -> char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option
val add : char Opal.LazyStream.t -> ((Qasm.expr -> Qasm.expr -> Qasm.expr) * char Opal.LazyStream.t) option
val sub : char Opal.LazyStream.t -> ((Qasm.expr -> Qasm.expr -> Qasm.expr) * char Opal.LazyStream.t) option
val mul : char Opal.LazyStream.t -> ((Qasm.expr -> Qasm.expr -> Qasm.expr) * char Opal.LazyStream.t) option
val div : char Opal.LazyStream.t -> ((Qasm.expr -> Qasm.expr -> Qasm.expr) * char Opal.LazyStream.t) option
val parse_expr : char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option
val parse_term : char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option
val parse_factor : char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option
val parse_atom : char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option
val parse_const : char Opal.LazyStream.t -> (Qasm.expr * char Opal.LazyStream.t) option
val parse_stmt : char Opal.LazyStream.t -> (Qasm.stmt * char Opal.LazyStream.t) option
val parse_string : string -> (Qasm.stmt * char Opal.LazyStream.t) option
val parse_qasm : char Opal.LazyStream.t -> (Qasm.t * char Opal.LazyStream.t) option
val parse_file : string -> Qasm.t