|Links to HEAD:||(view) (download) (as text) (annotate)|
Make the patterns be pre-compiled patterns for efficiency.
Allow constants to be defined by a hash (like everything else) if desired.
Modified the method used to tokenize a formula to use one large pattern that includes all the token types rather than individual patterns for variables, strings, operators, and so on. This allows the Parser to handle the situation where a token of one type is a prefix of a token of another type (e.g., < as a parenthesis but <- as an operator) without worrying about which one is checked first. The new mtheod is also more flexible about having additional patterns (like quoted strings, or arbitrary variable names) and about specifying the order in which they are applied.
Update to handle the fact that the Value package now includes the context with all MathObjects. (This may still need some work.)
Fixed a problem with redefine when used with classes that store their data in a on-standard form (i.e., by overridding the create() method). Now they can define uncreate() to get the original data back for use with redefine().
Significant update to new parser. New features include: Better control over format of vector output (you can now specify ijk-format rather than <...> format) "Fuzzy" reals, where the relations like == return true when the two values are "close enough". (This is controlable using parameters similar to those used in NUM_CMP). The fuzzy reals are now used in vectors/points/matrices/complexes/intervals and so on so that their relations will also be fuzzy. E.g., (1E-13,2) == (0,3) will be true, and norm(Vector(0,1E-13)) will equal 0. The two main portions of the parser (the Parser and Value packages) now share a common context object for configuration purposes.
merged changes from rel-2-1-a1 -- stop using that branch.
This form allows you to request diffs between any two revisions of this file. For each of the two "sides" of the diff, enter a numeric revision.
|aubreyja at gmail dot com||ViewVC Help|
|Powered by ViewVC 1.0.9|