use formulaa::ast::{Row, normalize};
use formulaa::render::{RenderCtx, render_root};
use formulaa::{from_latex, latex, parse};
fn show(title: &str, row: &Row) {
println!("== {} ==", title);
for line in render_root(row, None, &RenderCtx::canonical()).to_strings() {
println!(" {}", line);
}
println!(" LaTeX: {}\n", latex::row_to_latex(row));
}
fn main() {
let row = parse::parse("x²+2x+1 = (x+1)²").expect("hand-written AA");
show("parsed from hand-written AA", &row);
let aa = " ∞ -𝑥² ┌─\n┈∫┈┈ 𝑒 𝑑𝑥=√π\n -∞";
let row = parse::parse(aa).expect("canonical AA");
show("parsed from a 2D picture", &row);
let redrawn = render_root(&row, None, &RenderCtx::canonical()).to_text();
assert_eq!(parse::parse(&redrawn).unwrap(), normalize(&row));
let row = from_latex::row_from_latex(r"\frac{-b\pm\sqrt{b^2-4ac}}{2a}");
show("parsed from LaTeX", &normalize(&row));
}