SCalc (simple|symbolic) calculator library

SCalc is a library that provides elements for symbolic calculus and (relatively) fast evaluation. It is meant to be a simple calculus language, with support for variables and user-defined functions. Typical entries that the parser understands look like:

1 + 1
x = 2
1 + x
sin(x)
f : x -> x**2
f(3)
f(x)

Its main entry points are SCalc::Session, an object that holds a complete session, keeping track of defined variables, SCalc::ParserResult, the return value for an evaluation and its children, SCalc::Expression, SCalc::FuncDef and SCalc::SyntaxError.