blob: 08237891bc174b5d504a3c3127cef70453932dc4 [file] [log] [blame]
// Lexer and parser for expressions of the form:
//
// f(g(h("foo"), i(3, "bar")))
//
// Note that while it does understand strings and numbers, it doesn't
// do binary operators. We can do those via functions if needed, ala
// add(x, y), sub(x, y), etc.
//
// Caveats:
// * Only handles ASCII.
//
// For context on how this was written please watch:
// https://www.youtube.com/watch?v=HxaD_trXwRE
//
package calc