I am looking for a known way (if any) to split a long conditional expression into independent statements.
For example, I have this long expression:
*IF (
( *VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python'
*OR *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java' )
*AND
( *VALUE K01_PROCESS_COUNTS.Process_Count *LT 1
*OR *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2 )
)
I want to get all the possible combinations for this statement to be true. Manually I can iterate a first time and get this:
*IF (
( *VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python' )
*AND ( *VALUE K01_PROCESS_COUNTS.Process_Count *LT 1
*OR *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2) )
*IF (
( *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java' )
*AND ( *VALUE K01_PROCESS_COUNTS.Process_Count *LT 1
*OR *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2) )
And a second time I will have the full set of combinations:
*IF ( ( *VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python' )
*AND ( *VALUE K01_PROCESS_COUNTS.Process_Count *LT 1 ) )
*IF ( ( *VALUE K01_PROCESS_COUNTS.Process_Name *EQ 'python' )
*AND ( *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2 ) )
*IF ( ( *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java' )
*AND ( *VALUE K01_PROCESS_COUNTS.Process_Count *LT 1 ) )
*IF ( ( *VALUE K02_PROCESS_COUNTS.Process_Name *EQ 'java' )
*AND ( *VALUE K02_PROCESS_COUNTS.Process_Count *LT 2 ) )
I was thinking on doing this from scratch but I was wondering, is there any algorithm available for this type of operations? I have been searching for a while but I am unable to find it. I am working in Java, but any other language will work too.
Thanks!
Aucun commentaire:
Enregistrer un commentaire