Function qasm::parse
[−]
[src]
pub fn parse(tokens: &mut Vec<Token>) -> Result<Vec<AstNode>, Error>
Changes a vector of tokens into an AST.
Parsing is done with the parse function. It accepts a vector of Tokens and returns a vector of AstNodes or an Error as a result
Example
extern crate qasm; let mut tokens = vec![ qasm::Token::OpenQASM, qasm::Token::Real(2.0), qasm::Token::Semicolon, qasm::Token::QReg, qasm::Token::Id("a".to_string()), qasm::Token::LSParen, qasm::Token::NNInteger(3), qasm::Token::RSParen, qasm::Token::Semicolon, qasm::Token::Id("CX".to_string()), qasm::Token::Id("a".to_string()), qasm::Token::LSParen, qasm::Token::NNInteger(0), qasm::Token::RSParen, qasm::Token::Comma, qasm::Token::Id("a".to_string()), qasm::Token::LSParen, qasm::Token::NNInteger(1), qasm::Token::RSParen, qasm::Token::Semicolon, ]; let ast = qasm::parse(&mut tokens); // Ok([QReg("a", 3), ApplyGate("CX", [Qubit("a", 0), Qubit("a", 1)], [])])