Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

Generic Indirection

Draft MDC Standard

6.3.1 Generic Indirection

If the evaluation of a command or any of the arguments of a command encounters an indirect expression of the form @expritem which cannot be resolved using the syntax or metatalanguage defined for the command, if appropriate, the @ and expritem are replaced with the value returned by the expritem and the result is interpreted again as if it were part of the original command or linebody. If this replacement results in a syntax which does not match the definition of a routine, an error condition occurs with ecode = "S0".

The replacement with the value of expritem may not result in the insertion of any of the elements cs, eol, line or eor into the routine.

Editor’s note:
What is the error code if any of these elements happen to be inserted?
Will there be one error code for all of these insertions?
Will each element have its own error code?

Recommend to add:
... If any of these elements is inserted as the result of an indirection, an error occurs with ecode="M113".

Recommend to add to Annex B:
M113   Invalid separator inserted.

Button for 1977 Button for 1984 Button for 1990 Button for 1995 Button for MDC Button for notes Button for examples

Copyright © Standard Documents; 1977-2024 MUMPS Development Committee;
Copyright © Examples: 1995-2024 Ed de Moel;
Copyright © Annotations: 2003-2008 Jacquard Systems Research
Copyright © Annotations: 2008-2024 Ed de Moel.

Some specifications are "approved for inclusion in a future standard". Note that the MUMPS Development Committee cannot guarantee that such future standards will indeed be published.

This page most recently updated on 17-Nov-2023, 10:34:20.

For comments, contact Ed de Moel (demoel@jacquardsystems.com)