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