The Perl Advent Calendar needs more articles for 2022. Submit your idea today!

Changes for version 0.06 - 2021-01-26

  • Compiled formulas now access vars via Namespace->get_value the same as uncompiled evaluated formulas, though this may be internally optimized to the $vars hashref like before if the Namespace has not customized get_value.
  • Compiler->output_api now determines whether compiled formula take %vars or $namespace as arguments.
  • Deprecated Compiler->variables_via_namespace
  • Parser's scanner_rules have a 4th argument of the variables to make available to the code (3rd argument)
  • Fixed a bug in Parser->keyword_map where wrong values could get cached between subclass and parent class.
  • Document scanner_rules, keyword_map, etc.
  • Remove dependency on Const::Fast

Modules

Parser/Interpreter/Compiler for simple spreadsheet formula language
Compile a parse tree into perl code
Exception objects for formula functions
Object holding function and variable names
Default spreadsheet-like set of functions and behavior
Create parse tree from an input string
utility methods for parsers

Provides

in lib/Language/FormulaEngine/Error.pm
in lib/Language/FormulaEngine/Error.pm
in lib/Language/FormulaEngine/Error.pm
in lib/Language/FormulaEngine/Error.pm
in lib/Language/FormulaEngine/Error.pm
in lib/Language/FormulaEngine/Error.pm