Initial Checking with all 820 MLMs

This commit is contained in:
2020-02-02 00:54:01 -05:00
parent c59dc6de2e
commit 840d0432f4
828 changed files with 239162 additions and 0 deletions

View File

@@ -0,0 +1,86 @@
maintenance:
title: String Parsing MLM ;;
mlmname: UTIL_STRING_BETWEEN;;
arden: version 2;;
version: 1.00;;
institution: Eclipsys Corporation;;
author: ;;
specialist: ;;
date: 2006-04-07;;
validation: testing;;
library:
purpose:
Takes a string and extract out a sub string between a start and end character.
If there is no end character specified it is assumed to be the same as the start character.
If no start or end character then the single quote is assumed.
If the string contains multiple copies of start and end characters then the final string will be a concatenation of all
these strings.
Returns the sub-string.
;;
explanation:
;;
keywords:
;;
knowledge:
type: data-driven;;
data:
( str,
startChar,
endChar
) := ARGUMENT;
;;
evoke: /* Call MLM */
;;
logic:
if str is NOT NULL then
// Default to single quote if start character is missing
if startChar is NULL then
startChar := "{{{SINGLE-QUOTE}}}"; // single quote
endif;
if endChar is NULL then
endChar := startChar; // Same as start
endif;
characterList := extract characters str;
cnt := count (characterList);
indexList := 1 SEQTO cnt;
newList := ();
saveChar := false;
for X in indexList do
ch := characterList[X];
if ch = endChar AND saveChar = true then
saveChar := false;
ch := "";
endif;
if saveChar then
newList := newList, ch;
endif;
if ch = startChar and saveChar = false then
saveChar := true;
endif;
enddo;
newString := string( newList );
endif;
conclude true;
;;
action:
return newString ;
;;
Urgency: 50;;
end: