NullOps
Posted: Sun Feb 16, 2014 8:27 pm
What syntax should be used to say "do nothing". Both the following fragments of code generate errors:So I have to do one of the following (neither of which is exactly what I am trying to say):[/size]
Code: Select all
OPERATOR TestOps ( T RELATION SAME_HEADING_AS ( red.Tree ) ) RETURNS RELATION SAME_HEADING_AS ( red.Tree );
BEGIN;
VAR i INTEGER INIT ( 0 );
FOR UNION { EXTEND T : { parent := i } } ORDER ( ASC parent );
BEGIN;
CASE;
WHEN THE_d# ( node ) = 1 THEN i := THE_s# ( node);
WHEN THE_d# ( node ) = 0 THEN;
WHEN THE_d# ( node ) < 0 THEN i := i + THE_d# ( node );
ELSE i := 0;
END CASE;
END;
END FOR;
RETURN T;
END;
Code: Select all
OPERATOR TestOps ( T RELATION SAME_HEADING_AS ( red.Tree ) ) RETURNS RELATION SAME_HEADING_AS ( red.Tree );
BEGIN;
VAR i INTEGER INIT ( 0 );
FOR UNION { EXTEND T : { parent := i } } ORDER ( ASC parent );
BEGIN;
CASE;
WHEN THE_d# ( node ) = 1 THEN i := THE_s# ( node);
WHEN THE_d# ( node ) > 1 THEN i := 0;
WHEN THE_d# ( node ) < 0 THEN i := i + THE_d# ( node );
ELSE ;
END CASE;
END;
END FOR;
RETURN T;
END;
Code: Select all
OPERATOR TestOps ( T RELATION SAME_HEADING_AS ( red.Tree ) ) RETURNS RELATION SAME_HEADING_AS ( red.Tree );
BEGIN;
VAR i INTEGER INIT ( 0 );
FOR UNION { EXTEND T : { parent := i } } ORDER ( ASC parent );
BEGIN;
CASE;
WHEN THE_d# ( node ) = 1 THEN i := THE_s# ( node);
WHEN THE_d# ( node ) = 0 THEN i := i;
WHEN THE_d# ( node ) < 0 THEN i := i + THE_d# ( node );
ELSE i := 0;
END CASE;
END;
END FOR;
RETURN T;
END;
END OPERATOR;
Code: Select all
OPERATOR TestOps ( T RELATION SAME_HEADING_AS ( red.Tree ) ) RETURNS RELATION SAME_HEADING_AS ( red.Tree );
BEGIN;
VAR i INTEGER INIT ( 0 );
FOR UNION { EXTEND T : { parent := i } } ORDER ( ASC parent );
BEGIN;
CASE;
WHEN THE_d# ( node ) = 1 THEN i := THE_s# ( node);
WHEN THE_d# ( node ) > 1 THEN i := 0;
WHEN THE_d# ( node ) < 0 THEN i := i + THE_d# ( node );
END CASE;
END;
END FOR;
RETURN T;
END;
END OPERATOR;