pTAL(ID:8239/)for portable TAL Version of TAL that was (more) machine-independent, translated to C++ Related languages
References: Both our original language, pTAL, and the language of the translation we produce, C++, use a combination of value and pointer parameters. To check pointer parameters, the Do component creates an instance of the domain type then passes a pointer to it. The Verify component checks the value, then fills in a new value that is in turn checked by the Do component upon return. Languages that implement value/result parameters would check values similarly. If the profile has a result type, the Verify component returns a procedure result value, which is checked by the Do component. The pTAL language contains a mechanism for optionally passing parameters; the maximum number of parameters is known and any parameter may be either present or absent. This feature differs significantly from the C language "va_list" model in which the maximum number of parameters is not known. The AITG checks all combinations of presence and absence for the first four parameters* and selected combinations beyond that. A similar strategy might check for various lengths of parameter lists, assuming heuristics about how long the parameter list might be. Resources
|