Line Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161
2006-05-03  Marc Paterno  <paterno@fnal.gov>

	* Modified lexer to strip away "return" (\r) characters. This
	allows configuration files represented in textual internet
	protocols, as well as files created on operating system that use
	\r\n as the line terminator, to be handled correctly.

02-03-06 mfp. Add ability to get names of all parameters of a given type
    to ParameterSet, and tests for it.

28-02-06 mfp. Added ability to get names of all directly-included
    ParameterSets and vectors of ParameterSets. This was added to
    support the recursive "explosion" of a ParameterSet to produce
    all the ParameterSets it contains.

27-02-06 mfp. Added thread-safe Registry class, to provide a
    repository for the persistent part of ParameterSets used in a
    whole program. This is a first step towards providing persistency
    of ParameterSets in a framework program.

07-02-06 mfp. Added ability for parser and tree walker to deal with
    creating untracked parameters of type ParameterSet. Added
    tests to the test suite to verify correct behavior. Removed
    another wrong test which had required failure when attempting
    to make an empty ParameterSet.

06-02-06 mfp. Add tests of generation of ParameterSetID.
    Added tests to verify that modification of untracked parameters
    does *not* cause a change in ParameterSetID, but addition
    of a (tracked) parameter *does* change the ParameterSetID.

03-02-06 mfp. More fixing of mis-handled untracked/tracked
   differentiation.

    Removed 'ValueError' and 'EntryError' classes, in favor of use of
    edm::Exception.

    Fixed mixing of untracked and tracked parameters.
    Fixed tests to reflect correct behavior.

02-02-06 mfp. Removed default c'tor for Entry class.

02-02-06 mfp. Starting to fix long-standing mishandling of untracked
   parameters. Removed check for 'label' entry in the ParameterSet's
   table; this seems to have been a leftover from a previous
   misunderstanding regarding ParameterSet objects having names. This
   was also probably the source of the (defunct) error messages
   regarding 'anonymous parameter sets'.

31-01-06 mfp. Remove unnecessary rejection of empty parameter sets
   from MakersProcess.cc
   Add test for overriding 'used' blocks and PSets; test is commented
   out because the current code fails! The test/sample.txt file is
   correct in its use. The failure is not in the parser, but in the tree
   walker code.

17-01-06 mfp. Added protection to prevent circular inclusion.
   Also made EdmConfigToPython use preprocesser.

17-01-06 mfp. Added 'include' functionality, via use of
    preprocessor. Also modified the lexer/parser to disallow
    multi-line strings, which (up to very recently) were not
    working correctly anyway. This was done in order to make
    the preprocessing simpler to understand, and so that the
    preprocessing did not need to understand when it was
    "within" a string.

    The preprocessor is currently lacking protection against
    circular inclusion. This will be added soon. This preliminary
    check-in is being done so that Jim can work elsewhere in
    ParameterSet without colliding.

12-01-06 mfp. Fixed bug in pset_lex.l

The bug was in the pattern that identified double-quoted strings.  The
(wrong) behavior to was have a newline terminate a double-quoted
string. This had at least two bad effects:
  -- we would fail to catch errors in which a double-quoted string
     did not have an ending double-quote, e.g.
              string s = "Note the lack of trailing double-quote
     did not produce a parse error
  -- we would fail to parse what should have been a legal string,
     e.g.
        string s = "line 1
                    line 2"
     would cause a parse error.

Note this problem only appeared for double-quoted
strings. Single-quoted strings behaved correctly.
  

17-11-05 mfp & cdj. Fixed handling of unnamed source; "@main_input"
magic name now injected into ParameterSet, not parse tree.

15-11-05 mfp. Changed FileInPath to deal with new versions of its
environment variables.
   CMSDATA          --> CMSSW_DATA_PATH
   CMS_SEARCH_PATH  --> CMSSW_SEARCH_PATH

Modified tests to fit. Code and tests also deal with the old
environment variables, as a temporary measure.

01-11-05 mfp. Attempted to run the "test/run_all_parser_t.sh" script.

The tests fail because the output from printing the parse tree is no
longer legal input. The reason for failure (there may be others, but
this is the first encountered, which stops the test) is that the 'main
input source' is written out with a name '@main'; the grammar requires
the main input source to be unnamed. Furthermore, '@main' is not a
legal name.

This problem is not yet solved.

Added support for FileInPath; see the header for details.

12-08-05 mfp Added member template to ParameterSet to allow adding
parameters to an existing ParameterSet object.

NOTE: ParameterSets don't seem to deal well with 'infinity' as a value
of a double; see the commented-out line in ps_t.cppunit.cc that causes
a failed test. Similarly, ParameterSets don't deal well with NaN as a
value for a double.


14-07-05 jbk
Changed the exceptions from std::runtime_error to edm::Exception.
It is still unclear what the best route is for identifying
exceptions from this package.  Currently nearly all types
are edm::Exception with category "Configuration".  The constructor
message string includes "Invalid" or a string related to the 
place where the error occurred.  Another approach could be to
just use cms::Exception in a derived class, where the category
would be the derived class name and the message string could
be from a constructor argument.  This class could include
information in the message about the fact that this is
the parameterset package.  Currently many of the throw
exceptions include this information in the thrown data.

18-07-05 jbk
Changed the process pset visit function that creates a pset
that is contained within a process section of the configuration file.
(visitPSet)  Now this function adds the the child pset to the 
process pset.

07-09-05 jbk
Found out that endpath was not implemented! Now it is.  Many
endpaths can be specified.  I was careful to sort them to the
end and retain the relative order of path and endpath 
statements from the original file.  The testing is woefully
inadequate.

18-01-06 jbk
inject a new pset into a "process pset" now.  The injected one
looks like this:
  untracked pset @trigger_paths = 
    { 
      vstring @paths = { p1,p2,....,pn }
      vstring @end_paths = { e1,e2,...,en }
    }
where p1... and e1... are all the names of the path and
endpath statements in the main pset.