class
DIFF
inherit
AGGREGATE
redefine
post_action
end
POLYNOM
create
make
feature
Construct_name: STRING is "DIFF"
feature {NONE}
Separator: STRING is "-"
feature
production: LINKED_LIST [CONSTRUCT] is
local
base: PRODUCT
once
create Result.make
Result.forth
create base.make
put (base)
end
post_action is
local
int_value: INTEGER
do
from
child_start
if not no_components then
child.post_action
int_value := info.child_value
child_forth
end
until
no_components or child_after
loop
child.post_action
int_value := int_value - info.child_value
child_forth
end
info.set_child_value (int_value)
end
end -- DIFF