[system] / trunk / pg / lib / Parser / String.pm Repository:
ViewVC logotype

Log of /trunk/pg/lib/Parser/String.pm

Parent Directory Parent Directory


Links to HEAD: (view) (download) (as text) (annotate)
Sticky Revision:

Revision 5509 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 15 00:56:51 2007 UTC (12 years, 3 months ago) by dpvc
File length: 2615 byte(s)
Diff to previous 5001
Formula objects and Context objects contain reference loops, which
prevent them from being freed properly by perl when they are no longer
needed.  This is a source of an important memory leak in WeBWorK.  The
problem has been fixed by using Scalar::Util::weaken for these
recursive references, so these objects can be freed properly when they
go out of scope.  This should cause an improvement in the memory usage
of the httpd child processes.

Revision 5001 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jun 12 04:05:56 2007 UTC (12 years, 6 months ago) by dpvc
File length: 2599 byte(s)
Diff to previous 4994
More fixes for creating items in the corret context.  Also added a
method for looking up the package associated with a particular Parser
class (for consistency with the Value->Package call).

Revision 4994 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jun 10 01:17:29 2007 UTC (12 years, 6 months ago) by dpvc
File length: 2617 byte(s)
Diff to previous 3652
Update to handle the fact that the Value package now includes the
context with all MathObjects.  (This may still need some work.)

Revision 3652 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Sep 24 00:47:30 2005 UTC (14 years, 2 months ago) by dpvc
File length: 2562 byte(s)
Diff to previous 3464
Added ability to have answers that are empty strings.  String("") now
will produce a valid string object regardless of the Context's defined
string values.  (You can prevent this using

       Context()->flags->set(allowEmptyStrings=>0);

if you wish).  String("")->cmp will produce an answer checker for an
empty string (it removes the blank checker that WW installs).

Revision 3464 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Thu Aug 11 00:37:35 2005 UTC (14 years, 4 months ago) by dpvc
File length: 2565 byte(s)
Diff to previous 3369
Dereference aliases to aliases properly.

Revision 3369 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Tue Jul 12 21:05:37 2005 UTC (14 years, 5 months ago) by dpvc
File length: 2562 byte(s)
Diff to previous 3334
Fixed various perl compiler warnings (due to extra "my", and so on).

Revision 3334 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sun Jul 3 20:10:37 2005 UTC (14 years, 5 months ago) by dpvc
File length: 2562 byte(s)
Diff to previous 2842
Updates to allow string matches to be case-insensitive.  This is now
the default, and can be overridden in the Context by setting the
string's "caseSensitive" attribute.  e.g.:

	 Context()->strings->add("FooBar"=>{caseSensitive=>1});

would rewuire "FooBar" to be entered exactly as typed.

Revision 2842 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Wed Sep 29 15:47:30 2004 UTC (15 years, 2 months ago) by dpvc
File length: 2419 byte(s)
Diff to previous 2678
Allow string constants to include spaces.

Revision 2678 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Mon Aug 23 23:55:37 2004 UTC (15 years, 3 months ago) by dpvc
File length: 2392 byte(s)
Diff to previous 2660
Modified the parser so that the classes for the various object
constructors are stored in the context table rather than hard-coded
into the parser.  That way, you can override the default classes with
your own.  This gives you even more complete control to modify the
parser.  (You had been able to replace the definitions of operators,
functions and list-like objects, but could not override the behaviour
of numbers, strings, variables, and so on.  Now you can.)

This effects most of the files, but only by changing the name of the
calls that create the various objects.

There are also a couple of other minor fixes.

Revision 2660 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Fri Aug 20 15:52:32 2004 UTC (15 years, 3 months ago) by dpvc
File length: 2346 byte(s)
Diff to previous 2609
A number of adjustments to get negative infinities to work better.
They used to be stored as separate Parser strings, but now they are
flagged versions of a single string.

All of the problems are really due to the fact that there is no
Infinity class in the Parser (only a Value version).  That should be
changed, but will require some work, and can be put off for now.

It would be best if the classes within the two packages would match up
nearly 1-to-1, but for historical reasons, they don't.  Since the
introduction of Real, String and Infinity classes to the Value
package, The Infinity class is the one main difference between the
two, and once that is fixed, everything needs to be looked over to
check for unnecessary complications due to the historical lack of classes
in one or the other package.

Revision 2609 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 14 13:54:52 2004 UTC (15 years, 4 months ago) by dpvc
File length: 2102 byte(s)
Diff to previous 2605
Added a String type to the Value package.  Mostly this is to make it
possible to generate an answer checker for it that uses the parser.
It also makes it more consistent for handling things like stringify,
especially when they are recursively called internally.

Added new default strings "NONE" and "DNE", since these get used a
lot.

Modified how the default parameters are set up for the answer
checkers, and how the answer checker reports the expected answer type
in type mismatch error messages.

Revision 2605 - (view) (download) (as text) (annotate) - [select for diffs]
Modified Sat Aug 14 02:50:18 2004 UTC (15 years, 4 months ago) by dpvc
File length: 1978 byte(s)
Diff to previous 2558
Incorporated infinities into Parser package better.  They have been
stored as String objects (with extra data) in the parser, and I've
left it that way, but now they convert to/from Vallue::Infinity
objects correctly, and these are used for generating the output.

Also added the Infinity answer checker, and adjusted the error
messages produces by type mismatches in the answer checkers and
elsewhere.

Revision 2558 - (view) (download) (as text) (annotate) - [select for diffs]
Added Wed Jul 28 20:32:33 2004 UTC (15 years, 4 months ago) by sh002i
File length: 1409 byte(s)
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.

  Diffs between and
  Type of Diff should be a

Sort log by:

aubreyja at gmail dot com
ViewVC Help
Powered by ViewVC 1.0.9