{
{   This request is called by a command or function processor to parse and
{ evaluate its parameter list.  If an abnormal status is returned, the command
{ or function processor should return to its caller with that same abnormal
{ status.  The request will verify that the actual parameters conform to the
{ specification in the Parameter Description Table (PDT).
{
{   In addition a clt$check_parameters_procedure may be given to this request.
{ If supplied, the procedure will be called to perform command or function
{ specific validation for each parameter that has the CHECK attribute and for
{ the command or function as a whole.  The procedure may be called more than
{ once to perform the same validation in the context of a parameter dialog.
{
{   A command or function that has no parameters should call this request to
{ verify that no parameters were passed to it.  In such a case an "empty" PDT
{ must be passed for the PARAMETER_DESCRIPTION_TABLE and NIL must be passed for
{ the CHECK_PARAMETERS_PROCEDURE and PARAMETER_VALUE_TABLE parameters.
{
{       CLP$EVALUATE_PARAMETERS (PARAMETER_LIST, PARAMETER_DESCRIPTION_TABLE,
{         CHECK_PARAMETERS_PROCEDURE, PARAMETER_VALUE_TABLE, STATUS)
{
{ PARAMETER_LIST: (input)  This parameter specifies the actual parameters
{       to be evaluated for the command or function as passed to the requesting
{       processor.
{
{ PARAMETER_DESCRIPTION_TABLE: (input)  This parameter specifies the names,
{       types and defaults for the command's or function's parameters.  The
{       variable referenced for this parameter should be produced using the
{       GENERATE_PDT tool.  The #SEQ function is used to pass the variable as
{       the actual value for this parametrer.  NIL may not be specified to
{       indicate that there are no parameters; an "empty" PDT must be used.
{
{ CHECK_PARAMETERS_PROCEDURE: (input)  This parameter specifies the procedure
{       to be called to perform additional parameter validation.  NIL may be
{       specified to indicate the absence of such a procedure.
{
{             CHECK_PARAMETERS_PROCEDURE (PARAMETER_VALUE_TABLE,
{               WHICH_PARAMETER, STATUS)
{
{       PARAMETER_VALUE_TABLE: (input)  This parameter specifies the evaluated
{             parameters for the command or function.  If a parameter was
{             omitted and has no default, then the corresponding value or
{             variable field is NIL.
{
{       WHICH_PARAMETER: (input)  This parameter specifies which command or
{             function parameter to check.  This parameter may specify that a
{             particular command or function parameter should be checked or
{             that general checks should be made (e.g.  of parameter
{             interdependencies).  Each time clp$evaluate_parameters has
{             successfully evaluated a parameter's expression (including a
{             default), it calls this routine specifying that parameter is to
{             be checked.  Once all parameters have been evaluated, this
{             routine is called to perform general checks.
{
{       STATUS: (output)  This parameter specifies the result of the checking.
{
{ PARAMETER_VALUE_TABLE: (output)  This parameter specifies the evaluated
{       parameters for the command or function.  NIL may be specified to
{       indicate that there are no parameters.  If a parameter was omitted and
{       has no default, then the corresponding value or variable field is NIL.
{
{ STATUS: (output)  This parameter specifies the request status.  If this
{       status is not normal, the command or function processor should return
{       immediately to its caller with this status.
{
