langur

download

SHA-256 sums

langur-0.17.5.zip SHA-256 sum 8f3a908d570991c3e7fe99615f265a01d143079328af4f1d2683881d0b84b580 langur-0.17.4.zip SHA-256 sum 8d716a981870263c53fe0140c6e3c48db20938d9a04c01b3df14159778866c26

revision history

2024-08-15 - 0.17.5 - moved responsibility for current patch state of built-in function parameters to the functions themselves - added parsing of dot expressions (but not compiled) 2024-08-11 - 0.17.4 - added ability to specify a "required parameter by name" (that is, argument must use name, but is not optional) - fixed potential bug in compiler adding pop opcodes when not appropriate - replaced compiler.compileNode parameter popAtEndOfExpression with function compiler.compileNodeWithPopIfExprStmt - removed ast.Evaluator interface and added Evaluate() to ast.Node interface - moved built-in signatures closer to their Go functions and eliminated object.Builtin.ParamMax and ParamMin - fixed potential parsing bug re. mutable parameters and a parsing bug re. parameter aliases 2024-08-02 - 0.17.3 - changed token.Line and token.LinePosition to use a struct trace.Where - changed object.CompiledCode to use opcode.InsPackage to include meta-data (but not yet implemented) - moved infix token to opcode conversion outside of compiler.compileInfixExpression() - renamed object.BinaryOperation() as object.BinaryNonLogicalOperation(); added object.BinaryOperation() that may be used to pre-evaluate an infix expression - changed system variable name _script to _file 2024-07-28 - 0.17.2 - fixed parsing bug with left brace being taken as the end of an expression - added RoundingMode type to decimal package - fixed setting current rounding mode (made safe for concurrency) - updated vm to not use nil default as indicator for hypothetical "required by name" parameter - renamed ast.PreBuilder interface as ast.Evaluator 2024-07-25 - 0.17.1 - clean up code regarding arguments/parameters that are positional or by name - removed several fields from object.BuiltIn; using object.Signature for most - updated compiler and vm to allow "required by name" parameters (though not implemented in parser) 2024-07-23 - 0.17.0 - added optional parameters to compiled functions (not to be confused with parameter expansion, which is still positional) - changed how parameters/arguments are dealt with for compiled functions - changed OpClosure to OpFunction, with another operand to indicate a count for default values to be determined at run-time - updated lexer to allow number continuation on next line (see website for syntax) - added PreBuilder interface to ast, for times when a node can be converted directly to an Object, instead of making more instructions for the VM; added PreBuild() method to some node types

A full revision history is included in the download. See also the revisions and breaking changes.

license

Langur uses the Apache license 2.0.