Published
Edited
May 5, 2020
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
binOp = left => op => right => ({left, token: {type: tokenType(op), value: op}, right})
Insert cell
num = value => ({token: {type: 'DECIMAL', value}})
Insert cell
unaryOp = op => expr => ({token: {type: `UNARY ${op === '-' ? 'MINUS' : 'PLUS'}`, value: expr}})
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
parse (expr) ("12*1+3")
Insert cell
Insert cell
parse (expr) ("12+(2*2)+6")
Insert cell
Insert cell
parse (evaluateExpressionsWithParenthesis) ("12+(2*2)+6");
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
ast = make_AST_tree(parserResult)
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
Insert cell
parse(allOf([char('J'),char('a')])) ("Jahoda")
Insert cell
parse(text("Jahoda")) ("Jahoda Pohoda")
Insert cell
parse(digit)("12345667890")
Insert cell
parse(allOf([digit, digit, zeroOrOnce(char(".")), digit, digit]))("12.34")
Insert cell
parse(atLeastOnce(char(".")))("...1231.")
Insert cell
parse(allOf([zeroOrMoreTimes(char('.')),atLeastOnce(digit)]))('0123')
Insert cell
parse(ifThenElse(digit)(char('.'))(text('jahoda')))('0.jahoda')
Insert cell
parse(decimal)('-12.232')
Insert cell
parse(ap((n1, _, n2) => n1 + n2)([decimal,char('+'),decimal,eof]))("12+55.7")
Insert cell
parse (expr) ('12/-33')
Insert cell

Purpose-built for displays of data

Observable is your go-to platform for exploring data and creating expressive data visualizations. Use reactive JavaScript notebooks for prototyping and a collaborative canvas for visual data exploration and dashboard creation.
Learn more