Fix parsing of function

pull/9/head
trivernis 4 years ago
parent 36e3fa717c
commit f3bd761d3d

@ -2,7 +2,7 @@
name = "asciimath-rs"
description = "AsciiMath parser"
repository = "https://github.com/trivernis/asciimath-rs"
version = "0.5.1"
version = "0.5.2"
authors = ["trivernis <trivernis@protonmail.com>"]
edition = "2018"
readme = "README.md"

@ -311,22 +311,26 @@ mod tests {
#[test]
fn it_parses_vectors() {
assert_eq!(
parse("((1), (2))".to_string()),
parse("((1), (2)) - f".to_string()),
Expression {
children: vec![Element::Group(Group::Vector(Vector {
inner: vec![
vec![Expression {
children: vec![Element::Literal(Literal::Number(Number {
number: "1".to_string()
}))]
}],
vec![Expression {
children: vec![Element::Literal(Literal::Number(Number {
number: "2".to_string()
}))]
}]
]
}))]
children: vec![
Element::Group(Group::Vector(Vector {
inner: vec![
vec![Expression {
children: vec![Element::Literal(Literal::Number(Number {
number: "1".to_string()
}))]
}],
vec![Expression {
children: vec![Element::Literal(Literal::Number(Number {
number: "2".to_string()
}))]
}]
]
})),
Element::Literal(Literal::Operation(Operation::Minus)),
Element::Literal(Literal::Function(Function::F))
]
}
);
assert_eq!(

@ -101,6 +101,7 @@ impl TreeParser {
Token::Logical(l) => Some(Element::Literal(Literal::Logical(l.clone()))),
Token::Relation(r) => Some(Element::Literal(Literal::Relation(r.clone()))),
Token::Greek(g) => Some(Element::Literal(Literal::Greek(g.clone()))),
Token::Function(f) => Some(Element::Literal(Literal::Function(f.clone()))),
Token::Text(t) => {
if let Some(literal) = self.parse_text(t) {
Some(Element::Literal(literal))

Loading…
Cancel
Save